2013-05-31 68 views
0

我需要在應用程序的客戶端部分的Silverlight的版本將使用與LightSwitch的ApplicationServerContext可用的功能,可以在2012版的LightSwitch的。的LightSwitch ApplicationServerContext

唯一的例子,我已經能夠找到迄今使用

ServerApplicationContext context = ServerApplicationContext.CreateContext(); 

顯示Asp.net網頁等

我曾嘗試在Silverlight客戶端創建ApplicationServerContext的HTML客戶端,但我得到的錯誤

「名稱‘ServerApplicationContext’不在當前情況下存在」是否有可能在Silverlight客戶端,如果是如何使用ApplicationServerContext?

感謝

馬克

回答

0

ServerApplicationContext旨在訪問服務器上的自定義業務邏輯。在此之前,與服務器中間層進行通信的唯一方法是通過oData。 使用ServerApplicationContext可以將Lightswitch應用程序服務器端與其他技術(如ASP)一起擴展。 NET MVC,ASP.NET WEBFORMS和ASP。 NET WEBAPI。

這是不可能的從Silverlight客戶端存取權限的ServerApplicationContext因爲

  • Silverlight客戶端通過OData的
  • Silverlight客戶端是一款便攜式DLL與服務器通信,服務器是一個.NET Framework dll,你不能引用一個.net框架dll從一個便攜庫dll
  • 客戶端和服務器共享業務邏輯代碼,如實體通過共享代碼技術和T4
  • 幾乎相同的api該ServerApplicationContext暴露是對Silverlight客戶端訪問通過客戶方提供對象的應用和Dataworkspace

如果你想從客戶端您可以訪問服務器端的功能:

  • 使用手術檯上的技術,它使用一個lightswitch表,用於將參數傳遞給服務器,並在與操作表相關的實體的_inserting事件處理程序中調用服務器端代碼。例如,這是實現諸如發送電子郵件等功能的唯一方式,因爲Silverlight便攜式庫不支持電子郵件功能
  • 使用ASP擴展Lightswitch服務器。 NET MVC,ASP.NET Webforms或ASP.NET Web Api以及ServerApplicationContext代碼與您的服務器端功能一起使用。之後,你可以使用普通的HTTP Silverlight客戶端調用該功能的請求

由於微軟停止開發的LightSwitch和支持插件如Java,Flash和Silverlight瀏覽器棄用(新的Windows 10邊緣的瀏覽器不支持包括silverlight在內的任何插件...)在lightswitch應用程序中保留開發投資的方式可能是僅部署lightswitch服務器,通過當前的asp.net技術揭示您的用例,並使用當前的技術開發新的桌面客戶端(如WPF),它通過OData或其他可能暴露的Web服務連接到lightswitch中間層。

希望這會有所幫助。