前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >考试系统--底层框架发布时遇到的问题解决方案(Window7 IIS6.0)(一)

考试系统--底层框架发布时遇到的问题解决方案(Window7 IIS6.0)(一)

作者头像
令仔很忙
发布2018-09-14 16:04:37
5300
发布2018-09-14 16:04:37
举报
文章被收录于专栏:令仔很忙令仔很忙

   1、 HTTP 错误 500.21 - Internal Server Error处理程序“NickLeeCallbackHandler”在其模块列表中有一个错误模块“ManagedPipelineHandler”

     原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装

     解决方案:开始->所有程序->附件->鼠标右键点击“命令提示符”->以管理员身份运行->%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

      2、打开在服务器上IncludeExceptionDetailInFaults(从ServiceBehaviorAttribute或从<serviceDebug>配置行为)

       WCF的异常信息默认是以FaultException的形式返回到客户端,FaultException的关键属性Reason是对客户端反馈的最重要信息之一。以上客户端代码调用之后,默认的FaultException返回的Message信息如下: 由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,或在打开每个 Microsoft .NET Framework 3.0 SDK 文档的跟踪的同时检查服务器跟踪日志。

       根据异常的提示,意思说如果要在客户端看到详细的Exception信息,那么请将ServiceBehavior对应的IncludeExceptionDetailInFaults属性设置为True,通常在配置中表现为如下设置:

代码语言:javascript
复制
<serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="True" httpGetUrl="http://localhost:8733/CalculateService/"/>
          <serviceDebug includeExceptionDetailInFaults="True" />
        </behavior>
      </serviceBehaviors>

      通过以上设置之后,客户端输出的内容为“尝试除以零”,这个提示信息跟原始的异常信息是一致,即返回的FaultException中的Reason包含原始异常的Message的值,但是这样处理之后服务端所报出的异常信息直接传到了客户端,比如一些保密信息也可能输出到了客户端,因此对于异常信息必须进行一个封装。最直接的形式莫过于在服务端就把异常给捕获了,并重新throw一个FaultException       服务端的代码改进如下,经过以下改进,那么客户端得到的信息仅仅是"操作失败",同时服务端也记录了异常信息(这时IncludeExceptionDetailInFaults是设置为False的)。

代码语言:javascript
复制
try
            {
                return dividend / divisor;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                throw new FaultException("操作失败");
            }

     后边会陆续更新,记录学习过程中遇到的问题,不断提高。。。。。。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年12月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •    1、 HTTP 错误 500.21 - Internal Server Error处理程序“NickLeeCallbackHandler”在其模块列表中有一个错误模块“ManagedPipelineHandler”
  •       2、打开在服务器上IncludeExceptionDetailInFaults(从ServiceBehaviorAttribute或从<serviceDebug>配置行为)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档