2017-02-08 68 views
0

我有用於從服務器接收數據的代碼:配置IIS 7爲JSON

try 
{ 
    var data = _model.GetAll().ToList(); 
    if (data.Count > 100) 
    return SendMessage($"Too much results", HttpStatusCode.Forbidden); 
    var result = JsonConvert.SerializeObject(data, 
       new JsonSerializerSettings { Converters = new JsonConverter[] { new StringEnumConverter() } }); 
    return SendMessage(new{ results = result }); 
}catch (Exception ex) 
{ 
    return SendMessage("Server error.", HttpStatusCode.InternalServerError); 
} 

的SendMessage方法:

protected JsonResult SendMessage(string message, object data, HttpStatusCode code = HttpStatusCode.OK) 
{ 
    Response.StatusCode = (int)code; 
    return Json(new { message, data }, JsonRequestBehavior.AllowGet); 
} 

當方法403返回HTTP代碼,我本地主機是一切正常。方法在內容類型的application/json中發送數據。但是當我將代碼部署到Web服務器(IIS 7)方法時,發送content-type text/html並且數據爲空。 問題在哪裏?我如何配置IIS服務器?

感謝意見

+0

我發現問題在哪裏。在產品IIS服務器響應默認的IIS錯誤頁面,不響應我的JSON。我如何配置IIS以響應自定義http代碼? – bluray

回答

0

這裏是我的問題的解決方案:https://forums.iis.net/t/1213176.aspx

打開IIS>點擊下面的「警報」部分,點擊網站>錯誤頁>這裏「編輯功能設置...」,它會顯示以下三個選項:

1]自定義錯誤頁

2]詳細錯誤

3]本地請求的詳細錯誤和遠程請求的自定義錯誤頁面。

選擇第二個選項詳細錯誤單擊確定。