WCF尾随斜杠

时间:2014-05-23 11:48:40

标签: c# wcf iis-6

我的情况是我有一个WCF服务和一个适用于所有集合的通用合约:

[ServiceContract(Name = "GetAllService", ConfigurationName = "GetAllContract")]
public interface IGetAllCollectionServiceContract<T> where T : IEnumerable
{
    [Audit]
    [OperationContract]
    [WebGet(UriTemplate = "/")]
    T GetAll();
}

当你使用尾随/结尾时这很好用,但如果你没有得到&#34;没有收到数据&#34;信息。我试过删除&#34; /&#34;来自UriTemplate,但这给出了完全相同的结果。有点奇怪的是,我几个月前将这些代码部署到我们的实时服务器上,而在实时服务器上,当你导航到它时,它似乎在url的末尾添加了一个正斜杠。在登台服务器上它不会这样做,但是我可以看到的代码,基本IIS设置或Web配置没有区别,这会影响到这一点。我正在使用IIS 6和visual studio 2012你能想到任何会导致这个问题的东西吗?我已阅读其他有关此事的帖子,但他们没有帮助。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

Wierd,因为看起来问题出现在某些诊断代码中的web配置中,一旦下面的内容被删除,这就行了......非常奇怪

<system.diagnostics>
      <sources>
            <source name="System.ServiceModel" 
                    switchValue="Information, ActivityTracing"
                    propagateActivity="true">
            <listeners>
               <add name="traceListener" 
                   type="System.Diagnostics.XmlWriterTraceListener" 
                   initializeData= "c:\log\Traces.svclog" />
            </listeners>
         </source>
      </sources>
   </system.diagnostics>