1

有没有办法托管 wcf 服务:

  • 无扩展
  • 具有相对端点地址(服务器地址应该是自动知道的)
  • 没有元数据(合同可供客户使用)
  • 基本Http绑定

如果某事无法实现,我会接受。已经尝试过一种方法,但没有元数据 ->其他问题

4

1 回答 1

2

如果您在 IIS 中托管 WCF (SOAP) 服务,则需要一个service.svc文件(或至少一个具有.svc扩展名的端点,在 .NET 4 中使用无文件服务激活),以便 IIS 了解这是一个 WCF SOAP 端点并且相应地路由请求。在 IIS 中,服务所在的虚拟目录基本上决定了服务端点的地址,因此您可以使用相对地址(相对于虚拟目录)来定义服务的端点地址。

如果您在托管应用程序(Windows NT 服务,或只是一个普通的 .NET 控制台应用程序)中自托管 WCF 服务,那么您不需要.svc文件 - 您的托管应用程序处理请求 - 但同时,因为没有“托管基础设施”,您需要定义一个**完全限定的“端点地址 - 您不能只使用相对地址(相对于什么??)

因此,您可以拥有相对地址(在 IIS 中,但使用.svc文件),也可以没有扩展名(使用自托管,但必须提供完全限定的服务端点地址)。你不能同时拥有两者。

您的服务端点是否具有并公开元数据只是将服务行为添加(或添加)ServiceMetaData到您的服务定义的问题。

于 2013-04-01T07:45:29.257 回答