日期:2014-05-17  浏览次数:20525 次

高分求解:如何显示自定义错误信息?
公司一个项目用的是工厂模式,专门写了个项目用Routing来控制URL,当网址经过解析找不到可用的模板时,抛出异常,捕获异常后页面读取404页面模板,并输出“找不到文件”的自定义提示信息。看了日志,IIS记录状态为500。
问题来了:在本机调试能正常显示提示信息。部署到服务器上后访问站点,测试不存在的页面,发现只报“500 - 内部服务器错误。”在服务器上访问测试又能正常显示“找不到文件”的自定义提示信息。
我想应该跟错误信息的显示设置有关,不知道该如何设置,请各位指教。谢谢!

另:这帖本来想多给点分的,为什么最多只能给100分?

------解决方案--------------------
配置文件下手
    <customErrors mode="On" defaultRedirect="~/Error/HttpError">
      <error redirect="~/Error/NotFound" statusCode="404" />
    </customErrors>

------解决方案--------------------
一般来说,返回500错误是两个系统相会调用的时候,比如Website调用了一个Web API(通过WebRequest),如果Web API出错,不管是404还是什么其他的错误,在Website捕获到的都是500
------解决方案--------------------
看下是不是走到Context.Response.StatusCode = 500;这里去了
------解决方案--------------------
引用:
公司一个项目用的是工厂模式,专门写了个项目用Routing来控制URL,当网址经过解析找不到可用的模板时,抛出异常,捕获异常后页面读取404页面模板,并输出“找不到文件”的自定义提示信息。看了日志,IIS记录状态为500。
问题来了:在本机调试能正常显示提示信息。部署到服务器上后访问站点,测试不存在的页面,发现只报“500 - 内部服务器错误。”在服务器上访问测试又能正常显示“找不到文件”的自定义提示信息。
我想应该跟错误信息的显示设置有关,不知道该如何设置,请各位指教。谢谢!

另:这帖本来想多给点分的,为什么最多只能给100分?

是不是在另一台机子上IE打开的?如果是那就是那台IE的错误提示,是设成了   显示HTTP友好错误提示 的了
进选项..>高级..显示HTTP友好错误提示勾去掉。
------解决方案--------------------

配置文件吧!比较简单
------解决方案--------------------
学到了
------解决方案--------------------
原来如此。回复的都没在点子上,LZ都说和设置有关了。