2013-05-31 4 views
0

Мне нужно использовать функциональность, доступную с помощью Lightswitch ApplicationServerContext, доступную в версии Lightswitch 2012 года в версии клиентской части приложения Silverlight.Lightswitch ApplicationServerContext

Единственные примеры я смог найти до сих пор показывают HTML клиенту Asp.net страниц и т.д.

Я пытался создавать ApplicationServerContext в клиенте Silverlight с помощью

ServerApplicationContext context = ServerApplicationContext.CreateContext(); 

но я получить ошибку «Имя« ServerApplicationContext »не существует в текущем контексте»

Возможно ли использовать ApplicationServerContext в клиенте Silverlight, и если да, то как?

Благодаря

Марк

ответ

0

ServerApplicationContext предназначен для предоставления доступа к пользовательской бизнес-логике на сервере. До этого единственным способом связаться с средним уровнем сервера был через oData. Используя ServerApplicationContext, вы можете расширить свой сервер приложений Lightswitch Application с помощью других технологий, таких как ASP. NET MVC, ASP.NET WEBFORMS и ASP. NET WEBAPI.

Это не представляется возможным Acces в ServerApplicationContext от клиента Silverlight, потому что

  • Silverlight, клиент обменивается данными с сервером через OData
  • Клиент Silverlight представляет собой портативный длл, сервер является основой .net dll, вы не можете ссылаться на DLL-инфраструктуру .net из переносимой библиотеки dll.
  • Клиент и сервер совместно используют код бизнес-логики, такие как сущности, с использованием методов совместного использования кода и T4
  • почти тот же api, что обнажает ServerApplicationContext доступен для Silverlight Client через клиентскую доступные объекты Application и Dataworkspace

Если вы хотите получить доступ к функциональности на стороне сервера от клиента вы можете:

  • работы Использование методов таблицы, в которой используется таблицу с подсветкой для передачи параметров на сервер и вызывать код вашей серверной части в обработчике событий _inserting объекта, относящегося к таблице операций.Это, например, единственный способ реализовать такие функции, как отправка электронной почты, поскольку переносная библиотека Silverlight не поддерживает функции электронной почты.
  • Расширьте сервер Lightswitch с помощью ASP. NET MVC, ASP.NET Webforms или ASP.NET Web Api и в сочетании с кодом ServerApplicationContext для вашей серверной функциональности. После этого вы можете ссылаться на эту функциональность с Silverlight Client с помощью обычного HTTP запросов

Поскольку Microsoft прекратила развиваться Lightswitch и браузеры, которые поддерживают плагины, такие как Java, Flash и Silverlight являются устаревшими (новая ОС Windows 10 Пограничный браузер не поддерживает любые подключаемые модули, включенные в Silverlight ...) способ сохранения инвестиций в развитие в приложениях lightwitch может заключаться в развертывании только сервера lightwitch, раскрытии ваших прецедентов с помощью текущих технологий tech-технологий asp.net и разработке нового настольного клиента с использованием текущей технологии (например WPF), который подключается к среднему уровню lightwitch через OData или другие веб-сервисы, которые вы можете открыть.

Надеюсь, это поможет.

0

К сожалению

MSDN сообщает мы не можем использовать ServerApplicationContext от клиента http://msdn.microsoft.com/en-us/library/dn781266.aspx член: Microsoft.LightSwitch.Framework.Server

Альтернативы

Вы можете получить доступ к серверу за m preprocess. http://msdn.microsoft.com/en-us/library/ff852040.aspx

Personaly Я использую соединение hub с SignalR. http://blog.pragmaswitch.com/?p=607

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