2017-02-08 63 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]本地请求的详细错误和远程请求的自定义错误页面。

选择第二个选项详细错误单击确定。