您的位置:首页 > 编程语言 > ASP

[转] 关于ASP.NET中由于无法创建应用程序域,因此未能执行请求解决方案

2009-03-04 19:50 846 查看
本文转自:http://blog.csdn.net/conanhhy/archive/2008/08/28/2843628.aspx

原文如下:

前几天,为公司部署一个ASP.NET网站,该网站经过本机测试通过,并且在本机发布浏览通过。但部署到服务器上后,就一直出现由于无法创建应用程序域,因此未能执行请求的错误信息,之后通过事件查看器,发现具体错误信息:

    1:由于无法创建应用程序域,因此未能执行请求。错误:   0x80070005   拒绝访问。

    2:未能初始化   AppDomain:/LM/W3SVC/1635210705/Root   

        Exception:   System.IO.FileLoadException   

        Message:   未能加载文件或程序集“System.Web,   Version=2.0.0.0,   Culture=neutral,   PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。拒绝访问。   

        StackTrace:
        在   System.Reflection.Assembly.nLoad(AssemblyName   fileName,   String   codeBase,   Evidence   assemblySecurity,   Assembly   locationHint,   StackCrawlMark&   stackMark,   Boolean   throwOnFileNotFound,   Boolean   forIntrospection)  

        在   System.Reflection.Assembly.InternalLoad(AssemblyName   assemblyRef,   Evidence   assemblySecurity,   StackCrawlMark&   stackMark,   Boolean   forIntrospection)  

        在   System.Reflection.Assembly.InternalLoad(String   assemblyString,   Evidence   assemblySecurity,   StackCrawlMark&   stackMark,   Boolean   forIntrospection)  

        在   System.Activator.CreateInstance(String   assemblyName,   String   typeName,   Boolean   ignoreCase,   BindingFlags   bindingAttr,   Binder   binder,   Object[]   args,   CultureInfo   culture,   Object[]   activationAttributes,   Evidence   securityInfo,   StackCrawlMark&   stackMark)  

        在   System.Activator.CreateInstance(String   assemblyName,   String   typeName)  

        在   System.AppDomain.CreateInstance(String   assemblyName,   String   typeName)  

        在   System.AppDomain.CreateInstance(String   assemblyName,   String   typeName)  

        在   System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String   appId,   IApplicationHost   appHost,   HostingEnvironmentParameters   hostingParameters)  

        在   System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String   appId,   IApplicationHost   appHost,   HostingEnvironmentParameters   hostingParameters)  
     之后通过GOOGLE网上查询解决方案:
    1. 重新注册IIS, NET/Framework/v2.0.50727里的aspnet_regiis.exe 运行它,重新注册一下
        先卸载:.net aspnet_regiis.exe -u
        重新安装:aspnet_regiis.exe -i
    2. 安装2.0之后,查看IIS的虚拟目录的属性设置中的ASP.NET标签是否为2.0。
    3. 权限问题:
        (1). 检查应用程序池的属性,查看它是以什么用户身份运行的,一般是NETWORK   SERVICE
        (2). 确保这个用户对.NET   Framework   2.0的目录有访问权限:systemroot:/Windows/Microsoft.NET/Frameworks/2.0.xxxx
        (3). 确保该用户对虚拟目录具有访问权限。
    之所以3.3以红色标出,是因为本人在解决该问题时,之前的步骤都做了检查,但忽略了虚拟目录访问权限,结果为解决该问题浪费了一下午的时间,最后还是将这个问题解决了。
    如果大家也碰到相似的问题,应该仔细检查下。说不定问题就出在你的疏忽。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐