Thursday, November 27, 2008

web service 使用Session

web service中使用session需要開啟EnableSession
[WebMethod(EnableSession = true, CacheDuration=0....)]

web.config中<sessionState mode="">  mode不等於none

 

.NET中session的方式是透過Cookie儲存ID,才可以延續使用。
如果是在Web service中使用session,會來存取web service就不一定是瀏覽器
可能是程式碼。

如果是程式碼的話,則需要在程式碼中使用CookieContainer

WebService ws = new WebService();
System.Net.CookieContainer container = new System.Net.CookieContainer();

ws.CookieContainer = container ;
ws.XXXX();

CookieContainer 中會保存server端傳回來的sessionId,所以就可以延續的使用。

如果有需要的話,也是可以把CookieContainer存起來,再傳到需要使用的網頁或其他程式碼。

No comments:

Post a Comment