.net 如何在服务根地址(无尾随斜杠)承载WCF REST服务?

.net 如何在服务根地址(无尾随斜杠)承载WCF REST服务?,.net,wcf,rest,wshttpbinding,.net,Wcf,Rest,Wshttpbinding,我在一个地址上使用wsHttpBinding托管了一个服务(主机基址为) 在我的合同(IMyService)中,我有: 如果我运行我的服务并浏览到,它工作正常。如果我浏览到,会看到一个默认的WCF页面,指示未为此服务启用元数据发布服务 我已经尝试了不同的模板组合: UriTemplate=“” UriTemplate=“/” UriTemplate=“*” 结合服务基址: 它们都产生相同的行为。在之前的某个时候,我可以发誓这是有效的,尽管我认为我可能在UriTemplate中使用了一

我在一个地址上使用wsHttpBinding托管了一个服务(主机基址为)

在我的合同(
IMyService
)中,我有:

如果我运行我的服务并浏览到,它工作正常。如果我浏览到,会看到一个默认的WCF页面,指示未为此服务启用元数据发布服务

我已经尝试了不同的模板组合:

  • UriTemplate=“”
  • UriTemplate=“/”
  • UriTemplate=“*”
结合服务基址:

它们都产生相同的行为。在之前的某个时候,我可以发誓这是有效的,尽管我认为我可能在UriTemplate中使用了一个子路径。我知道如果我有一个“/abc/123/”的UriTemplate,我可以浏览到/abc/123(不带尾随斜杠),因为WCF实际上会自动发出HTTP 307重定向


我正在使用.NET 4.0。

我想你的问题已经在中得到了回答:


你能验证一下吗?

我知道怎么做了:

确保禁用默认WSDL生成(或至少不使用默认URL):


确保已禁用帮助URL:

<serviceDebug httpHelpPageEnabled="false" httpsHelpPageEnabled="false" />


我以前看到过这一点,但仔细看,我没有看到ServiceRoute代码。我最初的假设是,那里托管的服务是www.domain.com,使用的模板是“cars”。让我再多玩玩一下我的代码。再看看这个,它并没有回答我的问题。这是添加一个路由,以便多个服务基本上托管在同一地址。我基本上只是想在根地址上承载一些东西(没有后面的斜杠)
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
<serviceDebug httpHelpPageEnabled="false" httpsHelpPageEnabled="false" />