我想将十进制数(1.23)传递给我的WCF-REST Web服务。
我一直收到'资源无法找到'的错误。我希望我遇到IIS的一些安全功能,其中包含点的网址是资源。有没有人建议如何将十进制数传递给我的网络服务?
示例网址... http://localhost/restdataservice.svc/echo/2.2
运营合同
[OperationContract]
[WebGet(UriTemplate = "echo/{number}")]
string Echo(string number);
实施
public string Foo(string number)
{
return number;
}
答案 0 :(得分:3)
您应该查看IIS日志以查看问题。可能导致此类问题的一件事是UrlScan。它有UrlScan.ini配置文件,您可以在其中找到 AllowDotInPath 参数。如果设置为 0 ,则拒绝上述请求。只需将其更改为 1 (但不要忘记通过拒绝带有..的URL来确保您不允许目录遍历。)。
答案 1 :(得分:1)
您可能需要考虑使用POST请求在请求表示中将该号码发送到您的资源。
答案 2 :(得分:0)
这应该可以正常使用,我无法通过类似的基本设置重现此问题 - 您确定echo
方法的默认路由设置正确吗?