2013-04-22 20 views
0

導航到http://localhost:57645之後,代碼爲DHC by Restlet和500(InternalServerError)爲「Chrome瀏覽器」返回200(OK)。南希不同客戶端的不同HttpStatusCode

public class SampleModule : Nancy.NancyModule 
{ 
    public SampleModule() 
    { 
     Get["/"] = _ => 
     { 
      return Negotiate 
       .WithStatusCode(HttpStatusCode.OK) 
       .WithModel(10); 
     }; 
} 

這怎麼可能?

回答

2

您在第一個示例中遇到的行爲是預期的。瀏覽器請求text/html

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

南希嘗試找出基於該類型10一個觀點,因爲10是一種類型的Int32,南希正試圖找到一個觀點叫Int32,因爲它試圖響應與一個View,因爲這就是瀏覽器所要求的。

您在Chrome中使用的開發客戶端很可能默認發送JSON請求,這就是爲什麼它似乎在工作。

你可以閱讀更多關於此這裏:

http://www.philliphaydon.com/2013/04/nancyfx-revisiting-content-negotiation-and-apis-part-1/

+0

謝謝!特別喜歡List'1.sshtml的技巧:) – user2217261 2013-04-23 17:16:20

0

找到了!在我的情況下最好使用

return Response.AsJson(10); 
相關問題