我在这里遵循本指南:
现在已经到了我需要添加的地方:
<%@ ServiceHost Language="C#" Debug="true" Service="Wcf.ComboService" Factory="Wcf.DIServiceHostFactory" %>
到我的svcfile, 问题是我没有svcfile,根据这篇文章你必须从Web应用程序添加一个引用来获取它: Adding .svc file missing
真的没有办法做到这一点吗?或者可以在没有svc文件的情况下使这段代码工作?
答案 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();
这称为自托管。