缺少来自客户端

时间:2015-11-09 09:27:17

标签: c# asp.net-mvc-5

我在ASP.NET-MVC5框架中编写了一个简单的Web服务。我面临的问题是自定义状态代码和响应消息。

我已经尝试了很多在这里找到答案,但我在这里找到的解决方案并不适用于我。

我使用标准的try / catch方法来处理我的错误。当catch块收到错误时,它会向客户端发送一个响应,其中包含自定义错误代码和JSON文件以及有关错误/异常的一些其他信息。

当我在IIS Express上运行我的应用程序时,它在我从同一服务器发送请求时工作正常。当我在开发环境上的IIS 7.5和生产环境的IIS 8.5上运行应用程序时,会出现同样的情况。但是当客户端尝试向我的应用程序发送请求时会出现问题,如果应用程序代码中出现错误,客户端只会收到400状态代码的默认错误页面。

我尝试将CustomError设置为不同的模式,也尝试了与HttpErrors节点等的不同组合。
对我不起作用。如果CustomError模式设置为ON,则它根本不再为我工作 - 即使是本地请求也是如此。 这就是我向客户发送回复的方式:

  

     

{}   catch()   {

     

Response.StatusCode = 406;

     

StringBuilder errorMessage = new StringBuilder();

     

//在这里我生成要通过响应发送的json文件

     

string exception = errorMessage.ToString();

     

返回Json(例外,JsonRequestBehavior.AllowGet);

     

}

有没有办法为客户提供明显的响应信息?应用程序没有使用自定义错误页面并重定向到它们?

P.S。在SO中我发现了很多类似的问题,但对我的问题没有直接的答案。我在这里找到的问题和问题之间的主要区别是自定义错误页面。但对我而言,只要在出现错误/异常的情况下发送json,并将其显示在客户端的响应内容中。

1 个答案:

答案 0 :(得分:0)

我认为你的问题是different而不是你在想......我以前遇到过这个问题......就我而言,它与IIS re-register with asp.net ...

有关

尝试以下流程

  command prompt

中的

     

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis -i

     

请务必运行命令提示符as administrator

如果仍未解决,请尝试在below thread

中找到答案

Asp.net 4.0 has not been registered