网站地图    收藏   

主页 > 后端 > 网站安全 >

关于ASP.NET中由于无法创建应用程序域,因此未能

来源:自学PHP网    时间:2015-04-17 18:33 作者: 阅读:

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


前几天,为公司部署一个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, NETFrameworkv2.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:WindowsMicrosoft.NETFrameworks2.0.xxxx
(3). 确保该用户对虚拟目录具有访问权限。
之所以3.3以红色标出,是因为本人在解决该问题时,之前的步骤都做了检查,但忽略了虚拟目录访问权限,结果为解决该问题浪费了一下午的时间,最后还是将这个问题解决了。
如果大家也碰到相似的问题,应该仔细检查下。说不定问题就出在你的疏忽。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论