zoukankan      html  css  js  c++  java
  • 未处理的异常导致基于 ASP.NET 的应用程序意外退出

    问题具体见:http://q.cnblogs.com/q/34874/

    相应站点的w3wp.exe 会意外终止

    EventLog中的信息:

    An unhandled exception occurred and the process was terminated.

    Application ID: DefaultDomain

    Process ID: 43644

    Exception: System.Runtime.Serialization.SerializationException

    Message: Unable to find assembly 'Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181'.

    StackTrace: at System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly()

    at System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo assemblyInfo, String name)

    at System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String objectName, String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object[] typeInformationA, Int32[] memberAssemIds, ObjectReader objectReader, Int32 objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable)

    at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped record)

    at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()

    at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)

    at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)

    at System.AppDomain.Deserialize(Byte[] blob) at System.AppDomain.UnmarshalObject(Byte[] blob)

     具体原因和解决方案如下:

    http://support.microsoft.com/kb/911816 

    出现这个问题的原因在于未处理异常的默认策略在 .NET Framework 2.0 中已发生更改。默认情况下,未处理异常的策略是结束工作进程。
    在 Microsoft .NET Framework 1.1 和 Microsoft .NET Framework 1.0 中,会忽略托管线程上的未处理异常。除非附加调试程序以捕获异常,否则您可能意识不到出错。
    ASP.NET 在 .NET Framework 2.0 中使用未处理异常的默认策略。引发未处理的异常时,基于 ASP.NET 的应用程序将会意外退出。
    如果在请求上下文中出现异常,则不会发生上述行为。这类异常仍由 HttpException 对象进行处理和包装。在请求上下文中出现的异常不会导致工作进程结束。但是,请求上下文之外的未处理异常(如计时器线程上或回调函数中的异常)会导致工作进程结束。

      如果嫌麻烦用已经做好的msi程序安装httpmodule:http://unhandledexception.codeplex.com/

  • 相关阅读:
    麦子学院
    iOS开发系列--地图与定位
    iOS开发多线程篇—线程间的通信
    iOS开发多线程篇—创建线程
    iOS开发多线程篇—多线程简单介绍
    iOS开发网络篇—NSURLConnection基本使用
    iOS开发网络篇—GET请求和POST请求
    iOS开发网络篇—HTTP协议
    用CocoaPods做iOS程序的依赖管理
    新手不了解Xcode和mac系统可能犯得错误和我的建议
  • 原文地址:https://www.cnblogs.com/jinzhao/p/2456930.html
Copyright © 2011-2022 走看看