2009-11-05 127 views
1

我有一個ASP.NET應用程序通過SSL(應用程序外部)調用其他Web服務。我只是添加了一個Web引用(https://url/some.asmx)並使用了Web服務,它運行良好。但是,我的問題是,連接(頻道)是如何管理的?是否在每個Web服務調用後丟棄Web服務的連接?或者他們是否使用相同的連接(頻道)進行後續通話?如果他們這樣做,可信任的連接還能維持多久?從ASP.NET應用程序和連接管理調用Web服務

回答

1

經典ASMX Web服務維護單個請求的連接 - 這就是爲什麼您通過Web服務類調用的方法必須是靜態的。 SOAP調用非常類似於一個普通的HTTP請求:

  1. 到URL打開連接
  2. 通行證的請求 - GET/POST等
  3. 服務器生成一個XML(SOAP)響應
  4. 連接已關閉
  5. 客戶端處理響應。

Web服務框架包裝了大部分內容,以便您可以方便地訪問Web服務,就好像它是本地對象一樣,但沒有服務器端對象實例持久性,不僅僅是ASPX頁面。

另一方面,WCF服務維護連接,直到代理對象關閉。這給了你很大的權力,但是,當然,擁有巨大的權力會帶來很大的責任。

更新:關於SSL緩存鏈接:

http://social.msdn.microsoft.com/forums/en-US/asmxandxml/thread/f86066e0-a24b-4d5e-873c-ed427d1faef7/

+0

感謝快速響應。因此,如果我有100個用戶訪問我們的網站,並且所有請求都有一個調用Web服務的頁面,那麼每個用戶都需要通過SSL握手過程? – Kevin 2009-11-05 17:19:46

+0

SSL握手應發生在您的服務器和承載該服務的服務器之間。如果您需要SSL讓瀏覽器訪問您的頁面,那麼這是一個單獨的過程。我相信SSL握手會發生在您的服務器到web服務服務器的第一個請求中。 – 2009-11-05 17:31:28

+0

查看鏈接我添加到上面的帖子 – 2009-11-05 17:33:07

相關問題