2013-04-28 22 views
0

我有用Jquery發佈的WCF服務。部署到AppHarbor後,WebInvoke表單元素爲空

它可以在我的開發環境中正常工作,但是現在將它部署到AppHarbor時,不會在服務器上檢索POST的值。

服務的定義是這樣的:

[OperationContract] 
[WebInvoke(Method="POST", UriTemplate="/RunReport/MyReport", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] 
WebResults MyReport(); 

在實現我得到這樣的價值觀:

public WebResults MyReport() 
{ 
var value = HttpContext.Current.Request.Form["formName"]; 
... 
} 

實現類也有這樣的屬性:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] 

正如我所說,這在當地工作正常,我可以看到正確的數據由jquery在Fi中發佈rebug,但由於某種原因,AppHarbor HttpContext.Current.Request.Form [「formName」]總是返回NULL。

任何想法?

回答

0

嗯,我不知道是什麼問題,但我發現了一個變通......

我現在用下面的代碼,它似乎工作:

StreamReader reader = new StreamReader(stream); 
String res = reader.ReadToEnd(); 
NameValueCollection coll = HttpUtility.ParseQueryString(res); 
criteria.Retailers= coll["Retailers"].Split('|'); 

我發現對此帖的回覆:WCF + REST: Where is the request data?