2014-05-23 146 views
0

我的情況是我有一個WCF服務,並且對所有集合工作的通用合同: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可以讓你們想到會導致這個問題的任何事情嗎?我已閱讀關於此的其他帖子,他們沒有幫助。

在此先感謝您的幫助。

回答

0

奇怪,因爲它看起來,問題是在一些診斷代碼的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>