WCF尾随斜杠
本文关键字:WCF | 更新日期: 2023-09-27 18:05:01
我的情况是我有一个WCF服务和一个适用于所有集合的通用契约:
[ServiceContract(Name = "GetAllService", ConfigurationName = "GetAllContract")]
public interface IGetAllCollectionServiceContract<T> where T : IEnumerable
{
[Audit]
[OperationContract]
[WebGet(UriTemplate = "/")]
T GetAll();
}
当你在末尾使用尾随/时,这很好地工作,但如果你不这样做,你会得到"No data received"消息。我试过从UriTemplate中删除"/",但这给出了完全相同的结果。奇怪的是,几个月前我将这段代码部署到我们的实时服务器上,在实时服务器上,当你导航到它时,它似乎在url的末尾添加了一个正斜杠。在暂存服务器上,它不会这样做,但在代码、基本IIS设置或web配置方面没有区别,我可以看到这会影响到这一点。我正在使用IIS 6和visual studio 2012,你们能想到什么会导致这个问题吗?我读了其他关于这个的帖子,他们没有帮助。
提前感谢您的帮助。
奇怪的是,问题似乎是在一些诊断代码的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>