2013-05-13 5 views
0

Мне нужно вызвать метод Silverlight с моего контроллера приложений MVC4.Есть ли способ вызвать метод Silverlight у контроллера Asp.net MVC4?

загружает Silverlight с использованием объектом тега,

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="50%" height="100%" style="border:1px solid #cdcdcd"> 
      <param name="source" value="ClientBin/HelloWorld.xap"/> 
      <param name="onError" value="onSilverlightError" /> 
      <param name="background" value="white" /> 
      <param name="minRuntimeVersion" value="5.0.61118.0" /> 
      <param name="autoUpgrade" value="true" /> 
      <param name="onLoad" value="pluginLoaded" /> 
      <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=5.0.61118.0" style="text-decoration:none"> 
       <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/> 
      </a> 
     </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div> 

и вызвать метод Silverlight, я использую метод JS.

НО Я хочу вызвать метод silverlight от MVC4-controllder.

Возможно ли это? если да, как мне это сделать?

пожалуйста советую мне.

//Silverlight method 
[ScriptableMember] 
public void ShowAlertPopup(string message) 
{ 
    MessageBox.Show(message, "Message From JavaScript", MessageBoxButton.OK); 
} 

ответ

2

Это невозможно. Silverlight работает как на клиенте, так и на JavaScript, а MVC работает на сервере. Это разные машины.

Если вам нужно повторно использовать метод, вы можете использовать любой из:

  1. Source code sharing (раздел 'Добавление существующего элемента как ссылку')
  2. Portable Library project
  3. RIA Services Shared Code features

Если вам нужно только повторное использование нескольких методов, я предлагаю переместить их в отдельный файл, а затем привязать файл к 2 проектам (проект MVC и Silve rlight).

Важно отметить, что вы можете повторно использовать код, который использует функции, присутствующие как в Silverlight, так и в .NET. Вы не можете использовать специальные функции Silverlight (например, взаимодействие с браузером) из приложения MVC.


Если вам нужно отправить сообщения с вашего сервера на клиента, вы должны выполнить одно из:

  1. Опрос
  2. Long Избирательные
  3. Серверные Sent событий
  4. WebSockets

SignalR i это отличная библиотека для упрощения задачи.

Смежные вопросы