1

WCF REST Web 服务提供以下格式的查找:

https://mysite/mycontract/search/{searchtext}

hellohello%20world的搜索文本,服务执行正确。但是,当在https://mysite/mycontract/search/hello%20中使用以空格结尾的文本时,服务将失败并显示 404。没有自定义路由。

wcf 路由中的哪些限制会导致此问题,以及可用的解决方法(最好是更改 uri 结构除外)?

使用其他实施信息进行编辑:

合同

    [ServiceContract(SessionMode = SessionMode.NotAllowed)]
    public interface IPointOfSale
    {
        .......

        [WebInvoke(UriTemplate = "search/{SKU}", Method = "GET")]
        System.Xml.Linq.XElement ProductLookup(string SKU);

    }

方法

public XElement ProductLookup(string SKU)
{
   //product search here.
}
4

1 回答 1

1

我今天一直在处理同样的问题,发现其他帖子告诉我,在 .NET 4 中,解决方案在于在 web.config 中设置以下内容:

<httpRuntime relaxedUrlToFileSystemMapping="true" />

这为我解决了问题!

于 2012-08-17T12:31:11.830 回答