未能加载文件或程序集“XXXXDBHelper, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项拒绝访问

 

错误信息如下:

“/”应用程序中的服务器错误。--------------------------------------------------------------------------------未能加载文件或程序集“XXXXDBHelper,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或它的某一个依赖项。拒绝访问。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.IO.FileLoadException: 未能加载文件或程序集“XXXXDBHelper,PublicKeyToken=null”或它的某一个依赖项。拒绝访问。源错误:执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 程序集加载跟踪: 下列信息有助于确定程序集“XXXXDBHelper,PublicKeyToken=null”未能加载的原因。警告: 程序集绑定日志记录被关闭。要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。注意: 会有一些与程序集绑定失败日志记录关联的性能损失。要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。堆栈跟踪:

[FileLoadException: 未能加载文件或程序集“XXXXDBHelper,PublicKeyToken=null”或它的某一个依赖项。拒绝访问。] XXXXWEB.MODULE.BAS.Left.Page_Load(Object sender,EventArgs e) +0 System.Web.UI.Control.LoadRecursive() +71 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) +3178--------------------------------------------------------------------------------版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.17929

错误描述如下:

环境:开发工具:VS2012数据库:ORACLE 11G语言:C#.NET发布服务器:IISIIS发布C#.NET工程后,如果长时间(大概30分钟吧)不操作页面,再次操作需要连接数据库的页面,就会报这个错误。网上也搜索了很多资料,基本上都是说缺少dll、缺少文件等,但是我比对了没问题和出问题后的所有文件,发现都是一样的,所以排除了缺失文件的可能。断断续续的两天时间都是用来解决这个问题,一度还怀疑是不是服务器中途插拔过一次硬盘造成的。最后突然想到了web.config,因为我的工程是demo工程,是之前的另外个项目搬过来临时用的,web.config是比较乱的,所以我另外建了一个解决方案,新建一个测试工程,新建工程的web.config非常单纯,就一个.NET版本的定义,我加上了数据库的连接字串,再把所有的代码复制进去。发布,试用,发现没有异常,于是我把新建测试工程的web.config的内容复制到正式工程中,然后发布,试用两天,隔了一个夜晚,没有出现这个问题,哦。。。。中午解决了。特意写出来,如果大家遇到这个问题也可以有个排除问题的店。虽然我问题解决了,但是我还没有找出来是哪个配置出的问题,有时间了再排除测试下,如果哪位大神能看出来,也帮我留言指出,我测试下,谢谢。

原web.config内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!--
  有关如何配置 ASP.NET 应用程序的详细信息,请访问
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <appSettings>
    <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />
  </appSettings>
  <connectionStrings>
    <add name="constr" connectionString="Provider=SQLOLEDB;Data Source=.;Initial Catalog=CzceTestSuite;User ID=sa;Password=sa13456;" />
    <add name="conorclstr" connectionString="Provider=OraOLEDB.Oracle.1;User ID=xxxx;Password=1234qwer;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))" />
    <add name="conorclserverstr" connectionString="Provider=OraOLEDB.Oracle.1;User ID=xxxx;Password=XXXX13579;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.123)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))" />
  </connectionStrings>
  <!--
    有关 .NET 4.5 的 web.config 更改的说明,请参见 http://go.microsoft.com/fwlink/?LinkId=235367。

    可在 <httpRuntime> 标记上设置以下特性。
      <system.Web>
        <httpRuntime targetFramework="4.5"/>
      </system.Web>
  -->
  <system.web>
    <compilation targetFramework="4.5">
      <assemblies>
        <add assembly="System.Web.DataVisualization,Version=4.0.0.0,PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System,PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Drawing,PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Web,PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Xml,PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Data,PublicKeyToken=B77A5C561934E089" />
      </assemblies>
    </compilation>
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
    </authentication>
    <membership>
      <providers>
        <clear />
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>
    <profile>
      <providers>
        <clear />
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
      </providers>
    </profile>
    <roleManager enabled="false">
      <providers>
        <clear />
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
      </providers>
    </roleManager>
    <pages controlRenderingCompatibilityVersion="4.0">
      <controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions,Version=3.5.0.0,PublicKeyToken=31BF3856AD364E35" />
        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions,PublicKeyToken=31BF3856AD364E35" />
        <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization,PublicKeyToken=31bf3856ad364e35" />
      </controls>
    </pages>
    <httpHandlers>
      <remove path="*.asmx" verb="*" />
      <add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions,PublicKeyToken=31BF3856AD364E35" validate="false" />
      <add path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory,PublicKeyToken=31BF3856AD364E35" validate="false" />
      <add path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler,PublicKeyToken=31BF3856AD364E35" validate="false" />
      <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler,System.Web.DataVisualization,PublicKeyToken=31bf3856ad364e35" validate="false" />
    </httpHandlers>
    <httpModules>
      <add name="ScriptModule" type="System.Web.Handlers.ScriptModule,PublicKeyToken=31BF3856AD364E35" />
    </httpModules>
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="ScriptModule" />
      <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule,PublicKeyToken=31BF3856AD364E35" />
    </modules>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
      <remove name="WebServiceHandlerFactory-Integrated" />
      <remove name="ScriptHandlerFactory" />
      <remove name="ScriptHandlerFactoryAppServices" />
      <remove name="ScriptResource" />
      <remove name="ChartImageHandler" />
      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory,PublicKeyToken=31BF3856AD364E35" />
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory,PublicKeyToken=31BF3856AD364E35" />
      <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler,PublicKeyToken=31BF3856AD364E35" />
      <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,POST" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler,PublicKeyToken=31bf3856ad364e35" />
    </handlers>
        <defaultDocument>
            <files>
                <add value="Login.aspx" />
            </files>
        </defaultDocument>
  </system.webServer>
  <runtime>
    <assemblyBinding appliesTo="v2.0.50727" xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>


现web.config内容如下:

<?xml version="1.0" encoding="utf-8"?>

<!--
  有关如何配置 ASP.NET 应用程序的详细信息,请访问
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->

<configuration>
    <system.web>
      <compilation targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
	
  <connectionStrings>
    <add name="constr" connectionString="Provider=SQLOLEDB;Data Source=.;Initial Catalog=CzceTestSuite;User ID=sa;Password=sa13456;" />
    <add name="conorclstr" connectionString="Provider=OraOLEDB.Oracle.1;User ID=xxxx;Password=1234qwer;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))" />
    <add name="conorclserverstr" connectionString="Provider=OraOLEDB.Oracle.1;User ID=xxxx;Password=XXXX13579;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.123)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))" />
  </connectionStrings>
  
    <system.webServer>
        <defaultDocument>
            <files>
                <add value="Login.aspx" />
            </files>
        </defaultDocument>
    </system.webServer>
</configuration>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


什么是设计模式一套被反复使用、多数人知晓的、经过分类编目的、代码 设计经验 的总结;使用设计模式是为了 可重用 代码、让代码 更容易 被他人理解、保证代码 可靠性;设计模式使代码编制  真正工程化;设计模式使软件工程的 基石脉络, 如同大厦的结构一样;并不直接用来完成代码的编写,而是 描述 在各种不同情况下,要怎么解决问题的一种方案;能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免引
单一职责原则定义(Single Responsibility Principle,SRP)一个对象应该只包含 单一的职责,并且该职责被完整地封装在一个类中。Every  Object should have  a single responsibility, and that responsibility should be entirely encapsulated by t
动态代理和CGLib代理分不清吗,看看这篇文章,写的非常好,强烈推荐。原文截图*************************************************************************************************************************原文文本************
适配器模式将一个类的接口转换成客户期望的另一个接口,使得原本接口不兼容的类可以相互合作。
策略模式定义了一系列算法族,并封装在类中,它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,它是针对软件开发中经常遇到的一些设计问题,总结出来的一套通用的解决方案。
模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
迭代器模式提供了一种方法,用于遍历集合对象中的元素,而又不暴露其内部的细节。
外观模式又叫门面模式,它提供了一个统一的(高层)接口,用来访问子系统中的一群接口,使得子系统更容易使用。
单例模式(Singleton Design Pattern)保证一个类只能有一个实例,并提供一个全局访问点。
组合模式可以将对象组合成树形结构来表示“整体-部分”的层次结构,使得客户可以用一致的方式处理个别对象和对象组合。
装饰者模式能够更灵活的,动态的给对象添加其它功能,而不需要修改任何现有的底层代码。
观察者模式(Observer Design Pattern)定义了对象之间的一对多依赖,当对象状态改变的时候,所有依赖者都会自动收到通知。
代理模式为对象提供一个代理,来控制对该对象的访问。代理模式在不改变原始类代码的情况下,通过引入代理类来给原始类附加功能。
工厂模式(Factory Design Pattern)可细分为三种,分别是简单工厂,工厂方法和抽象工厂,它们都是为了更好的创建对象。
状态模式允许对象在内部状态改变时,改变它的行为,对象看起来好像改变了它的类。
命令模式将请求封装为对象,能够支持请求的排队执行、记录日志、撤销等功能。
备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。 基本介绍 **意图:**在不破坏封装性的前提下,捕获一个对象的内部状态,并在该
顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为
享元模式(Flyweight Pattern)(轻量级)(共享元素)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结