不使用.svc文件创建WCF服务

时间:2012-03-06 10:33:14

标签: c#

我在运行包含wcf服务的少量文件时遇到问题。在没有配置文件且没有.svc文件的情况下创建服务。是否可以在没有.svc文件的情况下运行服务。这些是2个简单的C#类文件,它们具有完整的服务要求,如服务合同和操作合同。

我试过从另一个类调用它,但它给出了这个错误:“无法直接启动具有类库输出类型的项目”

我的问题是:是否有必要提供service.svc文件?

3 个答案:

答案 0 :(得分:8)

如果您不在IIS中托管服务,则不需要.svc。 IIS中.svc的原因是:

  

IIS中托管的WCF服务表示为特殊内容文件   IIS应用程序内的(.svc文件)。这个模型类似于   ASMX页面在IIS应用程序中表示为.asmx   文件。 .svc文件包含特定于WCF的处理指令   (@ServiceHost)允许WCF托管基础架构激活   托管服务以响应传入的消息。

答案 1 :(得分:1)

看看WCF WebAPI它有很多很酷的部分,可以让你做一些事情,比如在IIS之外托管或通过Binding托管。本文将指导您完成一些基本服务。 http://www.tugberkugurlu.com/archive/introduction-to-wcf-web-api-new-rest-face-ofnet

然而请注意,即使SelfHosting(在Windows进程中运行WCF服务),您仍然需要一个可执行文件(即您不能单独运行类库)

答案 2 :(得分:1)

在IIS中托管服务时,需要

.svc文件。该文件实际上是一个类似于.asmx文件的文本文件。如果用任何文本编辑器打开它,你会看到一些像.asmx文件这样的细节。如语言(C#/ VB),服务代码和服务名称,调试等。

如果你没有在IIS上托管,那么拥有svc文件是不必要的。自托管是没有svc文件的例子。