正常情況下,每次調用 WebMethod,服務器都會創建一個新的 WebService 對象,即便客戶端使用同一個代理對象多次調用 WebMethod。而我們一旦調用了有緩存標記的 WebMethod,只要未超出緩存期,WebServ " /> 一区三区三区不卡,国产精品久久大陆,亚洲色视在线观看视频

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

簡單的web WebService安全

1. 有關生存期的補充
正常情況下,每次調用 WebMethod,服務器都會創建一個新的 WebService 對象,即便客戶端使用同一個代理對象多次調用 WebMethod。而我們一旦調用了有緩存標記的 WebMethod,只要未超出緩存期,WebService 對象都不會被重新創建。在緩存期內調用沒有緩存標記的 WebMethod,也會繼續使用該 WebService 對象。有太多因素讓這個緩存機制變得不那么可靠,因此我們不能奢望用緩存標記來維持特定的對象狀態,況且緩存機制的設計初衷也只是為了快速輸出那些比較穩定非常大的數據。
基于多用戶并發調用這個環境,WebService 本身最好設計成無狀態對象,我們可以使用 Session 和 Application 來保持特定的狀態信息。
2. 異步調用
網上很多人在寫有關 .NET 2.0 的文章時,都喜歡用“優雅”這個詞。的確,在 2.0 中編譯器和代碼生成器為我們封裝了很多羅嗦的東西,諸如匿名方法、委托推斷等等,當然還有這 WebService 的異步調用。我們不用再寫那些個 BeginXXX、EndXXX 了,基于事件驅動的異步機制會自動為每個 WebMethod 生成一個 XXXAsync 的異步方法和 XXXCompleted 事件,我們只需調用該方法,并處理該事件即可完成異步操作,當真是優雅了不少。不要小看 2.0 的這些封裝,我們編寫的代碼越少意味著出錯的幾率越小。
下面的示例中,我們使用了匿名方法來處理事件,看上去更簡潔了些。

代碼
WebServices.cs

[WebService(Namespace
= "http://www.rainsts.NET/", Description="我的Web服務")]
[WebServiceBinding(ConformsTo
= WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World!";
}
}

Client.cs

WebService ws
= new WebService();
ws.HelloWorldCompleted
+= delegate(object sender, HelloWorldCompletedEventArgs e)
{
Console.WriteLine(e.Result);
};

ws.HelloWorldAsync(
"xxx");

it知識庫簡單的web WebService安全,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: A片毛片免费视频在线看 | 亚洲激情网站 | 国产精品99久久久久久人韩国 | 国产人妻人伦精品久久无码 | 欧美精品高清在线观看 | 久久精品热线免费 | 特级黑人三人共一女 | 动漫美女的禁 | 高清无码色大片中文 | 亚洲 日韩 国产 中文视频 | 久久久久久亚洲精品影院 | 国产免费午夜高清 | 久久永久影院免费 | 日日啪在线影院百度 | adc免费观看| 99九九免费热在线精品 | 午夜福利体检 | 亚洲AV久久婷婷蜜臀无码不卡 | 亚洲XXX午休国产熟女屁 | 国产99视频精品一区 | 一日本道伊人久久综合影 | 亚洲AV久久无码精品九号软件 | 日本人六九视频 | 5G年龄确认我已满18免费 | 国产午夜福利伦理300 | 曰本xxⅹ孕妇性xxx | 国产午夜精品理论片影院 | 扒开校花粉嫩小泬喷潮漫画 | 一级毛片全部免 | 亚洲色欲色欲www474ee | 99热久久这里只精品国产WWW | 大学生第一次破苞疼哭了 | 成人免费在线观看 | 伦理片 qvod 伦理片 a在线线版韩国 | 高清无码中文字幕在线观看视频 | 无限资源在线观看高清 | 久久久久99精品成人片三人毛片 | 尹人综合网| 24小时日本在线观看片免费 | 97国产精品久久精品国产 | 欧美成人中文字幕在线看 |