WCF自托管和IIS

时间:2011-02-22 04:43:39

标签: c# .net wcf iis hosting

WCF自托管,仍然使用基于IIS的IIS或某些虚拟服务器。

例如:在编写非常基本的WCF主机之后,可以调用诸如
的端点 http://localhost:9090/foo.svc

例如:通过TCP调用WCF主​​机,是否在内部使用IIS?

由于我使用的另一个应用程序,我试图避免使用IIS,这对IIS线程起作用。这就是为什么要问。所以我想管理我自己的AppDomain和线程池,而不是IIS。

任何建议?

我可以从IIS分离托管WCF吗?

2 个答案:

答案 0 :(得分:3)

当您自托管时,您根本就在使用而不是碎片的IIS。你不需要那台机器上的IIS - 没有。

WCF自托管将需要http.sys驱动程序进行基于http的通信 - 但这就是全部。 绝对无需IIS的痕迹 - 无,zip,nada。

自托管WCF还允许您选择自己的服务地址并使用符合您需求的任何内容 - 没有虚拟目录,也没有* .svc文件需要处理。

答案 1 :(得分:0)

这取决于绑定。如果您执行BasicHttpBinding,则所有通信都将通过HTTP进行。

至于托管WCF,您可以使用Visual Studio附带的测试服务器(它作为服务运行。它被称为WcfSvcHost.exe),但我不建议将它用于生产。如果您只是在测试,那么您可以在Visual Studio调试器中启动WCF并使用其所需的地址(在这种情况下它将是http://localhost:1234/foo.svc

如果您正在寻找生产主机,您可以将WCF用作SOAP endpoint,这里有一篇非常好的文章,The Code Project讨论创建自托管服务