2009-11-05 124 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

相关问题