繁体   English   中英

如何将十进制数传递给其余的Web服务

[英]how to pass a decimal number to a rest web service

我想将十进制数(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;
}

您应该查看IIS日志以查看问题。 可能导致此类问题的一件事是UrlScan 它有UrlScan.ini配置文件,您可以在其中找到AllowDotInPath参数。 如果设置为0 ,则拒绝上述请求。 只需将其更改为1 (但不要忘记确保,您不允许通过拒绝URL来允许目录遍历)。

您可能需要考虑使用POST请求在请求表示中将该号码发送到您的资源。

这应该可以正常工作,我不能用类似的基本设置重现这个问题 - 你确定你的echo方法的默认路由设置正确吗?

我在WCF OData服务器上调用方法时遇到了类似的问题。

问题是十进制参数最后需要'm'。

http://localhost/restdataservice.svc/echo/2.2m

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM