【问题标题】:WCF Trailing SlashesWCF 尾部斜杠
【发布时间】:2014-05-23 11:48:40
【问题描述】:

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

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

当您在末尾使用尾随 / 时效果很好,但如果您不使用,则会收到“未收到数据”消息。我尝试从 UriTemplate 中删除“/”,但这给出了完全相同的结果。奇怪的是,我几个月前将此代码部署到我们的实时服务器上,并且在实时服务器上,当您导航到它时,它似乎在 url 的末尾添加了一个正斜杠。在登台服务器上,它不会这样做,但代码、基本 IIS 设置或我可以看到的 web 配置没有区别,这会影响这一点。我正在使用 IIS 6 和 Visual Studio 2012,你们能想到会导致此问题的任何事情吗?我已经阅读了有关此的其他帖子,但他们没有帮助。

提前感谢您的帮助。

【问题讨论】:

    标签: c# wcf iis-6


    【解决方案1】:

    奇怪的是,一旦以下内容被删除,问题似乎出在某些诊断代码中的网络配置中,这很有效......非常奇怪

    <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-28
      • 2012-03-01
      • 2012-01-06
      • 1970-01-01
      • 1970-01-01
      • 2018-05-01
      • 2015-06-20
      相关资源
      最近更新 更多