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

简介: <p>  </p> <h1>   <span style="font-size:18px">   1、 HTTP 错误 500.21 - Internal Server Error处理程序“NickLeeCallbackHandler”在其模块列表中有一个错误模块“ManagedPipelineHandler”</span></h1> <p><span style="font-siz

  

      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,通常在配置中表现为如下设置:    

<serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="True" httpGetUrl="http://localhost:8733/CalculateService/"/>
          <serviceDebug includeExceptionDetailInFaults="True" />
        </behavior>
      </serviceBehaviors>

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

      服务端的代码改进如下,经过以下改进,那么客户端得到的信息仅仅是"操作失败",同时服务端也记录了异常信息(这时IncludeExceptionDetailInFaults是设置为False的)。
      

try
            {
                return dividend / divisor;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                throw new FaultException("操作失败");
            }

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

  


      

     

      

相关文章
|
11月前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
624 1
|
负载均衡 大数据 应用服务中间件
10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡
10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡
|
JavaScript Windows
VUE部署到IIS中报404错误解决方案-配置URL重写
VUE部署到IIS中报404错误解决方案-配置URL重写
701 0
|
Windows
IIS应用程序池崩溃的解决方案
IIS是微软开发的Web服务器软件,被广泛用于Windows平台上的网站托管。在使用IIS过程中,可能会遇到应用程序池崩溃的问题,原因可能有很多,包括代码错误、资源不足、进程冲突等。本文将为大家介绍IIS应用程序池崩溃的问题分析和解决方案。如果您在IIS的Events日志下观察到以下任一事件,那么本文适合您。
401 0
|
开发框架 安全 JavaScript
解密IIS服务器API跨域问题的终极解决方案
解密IIS服务器API跨域问题的终极解决方案
732 0
IIS发布程序,出现:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理解决方案
IIS发布程序,出现:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理解决方案
|
网络安全 Windows
使用windows 10系统自带的IIS搭建ftp服务器
使用windows 10系统自带的IIS搭建ftp服务器
421 0
|
弹性计算 Windows
阿里云服务器上利用IIS部署.net网站(windows server2012r2系统)
本文介绍了在在一台新的阿里云服务器(windows server2012r系统)上,利用IIS发布net网站的教程,分享给大家。(还有代金券礼包领取,希望大家有所帮助)具体如下: 1.添加站点(1)创建连接池 (2)添加网站 添加网站这里,需要注意上图中这个画框的这个位置,ip地址这里,不要填 服务器的 公有ip地址 ,而是直接按照默认的写 全部未分配 ,端口这里,服务器的默认端口只有 80 。
阿里云服务器上利用IIS部署.net网站(windows server2012r2系统)
|
SQL 安全 前端开发
用户 'IIS APPPOOL\IdealTest' 登录失败解决方案
原文:用户 'IIS APPPOOL\IdealTest' 登录失败解决方案 运行MVC框架后可能会提示“用户 'IIS APPPOOL\IdealTest' 登录失败” 详细堆栈信息如下 说明: 执行当前 Web 请求期间,出现未经处理的异常。
1034 1
|
安全 Windows
win7系统想要用iis7远程桌面管理,可是他显示说你没有开通远程权限怎么解决?
  iis7远程桌面管理连接不上具体的操作如下:  首先打开桌面“计算机”图标,右键属性打开计算机属性菜单,  打开计算机属性(控制面板----系统和安全---系统选项)找到左侧的“远程设置”功能,  出现的“系统属性”菜单中,找到“远程‘选项卡,其中下方的“远程桌面”选项,选择其中一个(注意 远程...
1216 0