主頁(yè) > 知識(shí)庫(kù) > ASP.NET WebService中使用ASP.NET_SessionId的問(wèn)題說(shuō)明

ASP.NET WebService中使用ASP.NET_SessionId的問(wèn)題說(shuō)明

熱門(mén)標(biāo)簽:電子圍欄 Mysql連接數(shù)設(shè)置 Linux服務(wù)器 服務(wù)器配置 團(tuán)購(gòu)網(wǎng)站 銀行業(yè)務(wù) 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 阿里云
今天在幫助同事解決對(duì)WebService進(jìn)行 Web References 調(diào)用問(wèn)題:當(dāng)調(diào)用webservice第一個(gè)方法Method1發(fā)現(xiàn)服務(wù)端Set-Cookie: ASP.NET_SessionId=*****保存了ASP.NET的會(huì)話(huà)狀態(tài)。接著當(dāng)我再調(diào)用webservice的第二個(gè)方法Method2時(shí)發(fā)現(xiàn)無(wú)法正確返回服務(wù)器端處理結(jié)果

也就是說(shuō)webservices進(jìn)行http post 的時(shí)無(wú)法正常響應(yīng)服務(wù)端。感覺(jué)問(wèn)題就出在cookie上(Method1調(diào)用時(shí)服務(wù)端進(jìn)行了Set-Cookie),但是就是始終解決不了問(wèn)題。接著測(cè)試webservices瀏覽器端訪(fǎng)問(wèn),一切都是正常的。只怪自己對(duì)WebService了解甚少,導(dǎo)致明明知道問(wèn)題所在,就是無(wú)法解決問(wèn)題。。

技術(shù)問(wèn)題往往都是這樣,當(dāng)你越想解決它,它就越難快速的被你搞定。于是乎下班回家后沖涼、吃飽后繼續(xù)嘗試解決問(wèn)題。我突然想到了long long ago 俺寫(xiě)過(guò)一篇文章,就是http抓包的文章,文章地址在這里:http://www.cnblogs.com/ryanding/archive/2011/01/17/1936392.html。主要是通過(guò)HttpWebRequest、HttpWebResponse 這兩大神器來(lái)解決問(wèn)題。后來(lái)想想這樣做肯定可以搞定這個(gè)問(wèn)題。但是還是稍微過(guò)于繁瑣了。記得HttpWebRequest 有一個(gè)CookieContainer對(duì)象,可以解決cookie問(wèn)題。于是乎就拼命的在WebServcie的Web References實(shí)例化對(duì)象上找相關(guān)屬性。最終完美的被我解決了,代碼如下:
復(fù)制代碼 代碼如下:

ConsoleApplication1.WebReference.YourWebServiceName proxy= new ConsoleApplication1.WebReference.YourWebServiceName();
System.Net.CookieContainer Cookies = new System.Net.CookieContainer();
proxy.CookieContainer = Cookies;

代碼執(zhí)行完以上信息在執(zhí)行Method1,因?yàn)檫@玩意才開(kāi)始 Set-Cookie...
接著在執(zhí)行Method2一切都OK了。
這說(shuō)明了 proxy.CookieContainer存儲(chǔ)了客戶(hù)端的 ASP.NET_SessionId。這樣以后每次通過(guò)webservice 方法調(diào)用時(shí),都會(huì)將ASP.NET_SessionId傳遞到服務(wù)器端。
注:該WEBSERVICES 是客戶(hù)提供的,我們不能隨便修改它的代碼。
我想應(yīng)該也有不少人碰見(jiàn)了類(lèi)似的問(wèn)題。本文權(quán)當(dāng)方便后來(lái)人吧。
您可能感興趣的文章:
  • Jquery + Ajax調(diào)用webService實(shí)例代碼(asp.net)
  • asp.net下使用jquery 的ajax+WebService+json 實(shí)現(xiàn)無(wú)刷新取后臺(tái)值的實(shí)現(xiàn)代碼
  • PHP中調(diào)用ASP.NET的WebService的代碼
  • jQuery Ajax方法調(diào)用 Asp.Net WebService 的詳細(xì)實(shí)例代碼
  • 使用ASP.NET一般處理程序或WebService返回JSON的實(shí)現(xiàn)代碼
  • asp.net(c#)動(dòng)態(tài)修改webservice的地址和端口(動(dòng)態(tài)修改配置文件)
  • asp.net類(lèi)庫(kù)中添加WebService引用出現(xiàn)問(wèn)題解決方法
  • asp.net webservice返回json的方法
  • ASP.NET實(shí)現(xiàn)基于Forms認(rèn)證的WebService應(yīng)用實(shí)例
  • ASP.NET如何定時(shí)調(diào)用WebService服務(wù)
  • ASP.NET調(diào)用WebService服務(wù)的方法詳解
  • ASP.NET中Webservice安全 實(shí)現(xiàn)訪(fǎng)問(wèn)權(quán)限控制
  • ASP.NET中基于soaphead的webservice安全機(jī)制

標(biāo)簽:衡水 蚌埠 棗莊 江蘇 萍鄉(xiāng) 大理 廣元 衢州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET WebService中使用ASP.NET_SessionId的問(wèn)題說(shuō)明》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266