在没有web项目的情况下将信息添加到我的svcfile中?

时间:2010-07-13 08:30:18

标签: wcf dependency-injection svc

我在这里遵循本指南:

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应用程序添加一个引用来获取它: Adding .svc file missing

真的没有办法做到这一点吗?或者可以在没有svc文件的情况下使这段代码工作?

1 个答案:

答案 0 :(得分: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();

这称为自托管