<-- IE錯誤修正 --> 在Silverlight中透過WCF存取Session資料 - RiS社群 | FileMaker 中小企業應用



快速發表主題
返回   RiS社群 | FileMaker 中小企業應用 > PHP / ASP.NET / HTML5 / jQuery > HTML5 = TAG + CSS3 + JavaScript APIs > ASP & ASP.NET

ASP & ASP.NET 從早期的ASP動態網頁到新一代的"大內(.NET)"高手,想進入微軟ASP.NET的核心與相關技術就來這交流。


FileMaker 教學 FileMaker 14 教學課程 FileMaker 教學
FileMaker 課程(僅接受公司/單位或1對1專屬教學

輕鬆學會FileMaker
帶你認識FileMaker

FileMaker俱樂部 加入FileMaker獲取官方資訊 FileMaker俱樂部
FileMaker俱樂部

回覆
 
LinkBack 主題工具 顯示模式
  #1 (permalink)  
舊 2015-01-08
進階會員
 
註冊日期: 2007-12-19
文章: 119
微笑 在Silverlight中透過WCF存取Session資料

有一些程式碼,是屬於『簡單,但是很重要』的部分。像現在我們的這個範例就是。
在上課時不只一個學員(嚴格說起來有很多很多學員),都很關心Silverlight和ASP.NET的整合,不論是資料的交換,或是ASP.NET頁面上的互動和整合,由於Silverlight以透過ActiveX插件的形式崁入網頁中,使得學員以為要進行資料交換很困難或是完全不行。

這真可是誤會大了,對於Silverlight來說,與遠端(伺服器端)溝通的方是最典型的就是透過WCF Services(當然,傳統的Web Services也行),所以只要透過在Silverlight場景中呼叫WCF Services,就可以輕易的存取Session資料。

例如,你可以建立一個底下這樣的WCF Services:
namespace AccessSessionViaWcfServices.Web
{
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service1
{
[OperationContract]
public string GetSession(string SessionName)
{
// Add your operation implementation here
return System.Web.HttpContext.Current.Session[SessionName].ToString() ;
}

[OperationContract]
public bool SetSession(string SessionName,string SessionValue)
{
// Add your operation implementation here
System.Web.HttpContext.Current.Session[SessionName] = SessionValue;
return true;
}
}

關鍵在於這個Wcf services請務必選擇Silverlight-enabled WCF Services:
Click the image to open in full size.
同時透過 System.Web.HttpContext 即可存取與傳統 HttpContext有關的資訊。

建立好Services之後,即可在Silverlight當中以非同步方式呼叫:
private void button1_Click(object sender, RoutedEventArgs e)
{
ServiceReference1.Service1Client srv = new ServiceReference1.Service1Client();
srv.GetSessionCompleted += (s, para) =>
{
this.textBox2.Text = para.Result;
};
srv.GetSessionAsync(this.textBox1.Text);
}
即可輕易的取得Session的值,進而與ASP.NET交換資料,還可以利用這樣的機制處理帳號登入的問題,讓Silverlight也可以輕易的撰寫出具有與ASP.NET相容的登入與權限機制。

完整的範例程式碼請參考[CodeStorage]

本篇來源...

回覆時引用此篇文章
回覆

主題工具
顯示模式

發表文章規則
不允許您發表新主題
不允許您發表文章
不允許您上傳附件
不允許您編輯自已的文章

開啟 BB 代碼
關閉 HTML 程式碼
Trackbacks are 關閉
Pingbacks are 關閉
Refbacks are 開啟



所有時間均為 +9。現在的時間是 09:56 AM
Powered by vBulletin® 版本 3.7.2
版權所有 ©2000 - 2017,Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden
RiS 社群 ( 感謝正洋資訊顧問有限公司技術指導 ) - 使用3.7.2永久合法版權。
Ad Management by RedTyger



Content Relevant URLs by vBSEO 3.6.0 PL2