1

我在这里遵循本指南:

http://www.lostechies.com/blogs/jimmy_bogard/archive/2008/09/16/integrating-structuremap-and-nhibernate-with-wcf.aspx

现在已经到了我需要添加的地方:

<%@ ServiceHost Language="C#" Debug="true" Service="Wcf.ComboService" Factory="Wcf.DIServiceHostFactory" %>

对于我的 svcfile,问题是我没有 svcfile,根据这篇文章,您必须添加来自 Web 应用程序的引用才能获得它: 添加 .svc 文件丢失

真的没有办法做到这一点吗?或者也许让这个代码在没有 svc 文件的情况下工作?

4

1 回答 1

1

.svc 文件只是具有不同扩展名的文本文件,因此无论您使用哪种 Visual Studio 解决方案,您都可以始终将其添加为文本文件。

它不是编译的,而是与 WCF 二进制文件一起放置,指导 IIS 如何创建服务实例。如果配置正确,IIS会解释 .svc 文件并从二进制文件中启动服务。

但是,如果您不想在 IIS 中托管您的服务,则不需要 .svc 文件。您可以使用 ServiceHostFactory 手动启动服务:

var factory = new Wcf.DIServiceHostFactory();
var host = factory.CreateServiceHost(typeof(Wcf.ComboService), baseAddresses);
host.Open();

这称为自托管

于 2010-07-13T11:57:52.157 回答