Lad*_*nka 15
基于WCF HTTP的绑定依赖于HttpListener类,它是围绕HTTP API的托管包装器.HTTP API取决于操作系统处理http请求的方式.因此,如果您使用使用http.sys驱动程序(Windows 2003和更高版本)的操作系统,则依赖于它.
编辑:
根据关于卡西尼的非常好的争论,我在Reflector花了两个小时.以下描述仅是我的假设.我还没有找到任何关于它的信息,所以也许我完全错了.
WCF内部包含一些所谓的抽象类,HttpTransportManager这个类是由内部类派生HostedHttpTransportManager和SharedHttpTransportManager(这其中也存在着版本HTTPS).前者不依赖,HttpListener后者则不依赖.当WCF托管在ASP.NET管道中时使用前者 - 内部类HttpModule和依赖于HttpHandlerSystem.ServiceModel.Activation程序集使用.创建后使用后者(自托管).HostedHttpRequestAsyncResultHostedHttpTransportManagerHttpChannelListener
我的结论是,在ASP.NET管道中托管的WCF服务并不直接依赖于http.sys,而是托管管道的IIS.这允许创建自定义Web服务器,该服务器不依赖于http.sys,但能够托管ASP.NET等WCF.我认为这就是卡西尼所做的.自托管WCF服务始终依赖于http.sys.
正如我上面所写,这只是我基于一些快速逆向工程的猜测.
| 归档时间: |
|
| 查看次数: |
2641 次 |
| 最近记录: |