2011-02-23 73 views
3

我想將一個十進制數(1.23)傳遞給我的WCF-REST Web服務。如何將十進制數傳遞給其他Web服務

我不斷收到'資源找不到'錯誤。我期望我遇到一些IIS的安全功能,其中包含點的URL是資源。有沒有人有關於如何將十進制數傳遞給我的web服務的建議?

樣品網址... http://localhost/restdataservice.svc/echo/2.2

經營合同

[OperationContract] 
[WebGet(UriTemplate = "echo/{number}")] 
string Echo(string number); 

而且實現

public string Foo(string number) 
{ 
    return number; 
} 
+0

當您使用瀏覽器瀏覽到不帶'number'參數的URL時,會發生什麼情況,只是爲了'/ echo'? – Jeff 2011-02-23 17:13:08

回答

3

您應該查看IIS日誌以查看問題。有一件事會導致這樣的問題是UrlScan。它有UrlScan.ini配置文件,在這裏你可以找到AllowDotInPath參數。如果它設置爲,則上述請求將被拒絕。只需將其更改爲(但不要忘記確保您不允許使用..拒絕網址來進行目錄遍歷)。

0

這應該做工精細開箱,我不能用類似的基本重現此問題設置 - 你確定你的echo方法的默認路由設置是否正確?

+1

我相信這是Visual Studio附帶的Cassini Web Server的問題。 – 2011-02-23 19:52:18

+0

@amit_g:我也在使用卡西尼進行測試,對我來說效果不錯 – BrokenGlass 2011-02-23 19:58:49

+0

當使用卡西尼時,我可以使用VS2010重現這一點。通過IIS瀏覽時,同樣的項目工作得很好。 – 2011-02-23 20:26:03

1

您可能需要考慮使用POST請求將該號碼發送到請求表示中的資源。

相關問題