首页 新闻 会员 周边

试图访问已卸载的 AppDomain

0
悬赏园豆:10 [已解决问题] 解决于 2013-08-15 16:47
 VS2005项目随便修改一个东西,再次运行就会出现“试图访问已卸载的 AppDomain”,然后重启IIS就会好,是什么问题呢?求高手!
IIS
问题补充:

本地运行时好的,上传的服务器上就出错了!各位大哥们,给点提示吧!

东方姑娘的主页 东方姑娘 | 初学一级 | 园豆:186
提问于:2013-08-14 11:16
< >
分享
最佳答案
1

IIS 网站下文件修改后,IIS 会自动重启应用程序池,你刚好在这个时候要去连接,所以就出现出问题了。

收获园豆:10
Launcher | 高人七级 |园豆:45045 | 2013-08-14 11:19

那怎么办呢?怎么能不出现这个错误呢?谢谢!

东方姑娘 | 园豆:186 (初学一级) | 2013-08-14 11:21

@东方姑娘: 这是不可避免的。我觉得你的流程有错误。

我下面只能是猜测,你下次问问题的时候,请把你的流程描述清楚。

1,VS 2005 中调试器选择 asp.net,不要使用 iis;

2,不要在 IIS 中建立网站指向你的解决方案的目录;

3,不要直接把解决方案的文件拷贝到WEB部署目录;

4,通过发布方式将编译后的文件放置到一个WEB部署目录;

Launcher | 园豆:45045 (高人七级) | 2013-08-14 11:28

应用程序池应该和AppDomain是两个概念吧。

小AI | 园豆:354 (菜鸟二级) | 2013-08-14 12:35

@小AI: 是两个概念,但是,应用程序池启动的就是 AppDomain,修改网站下文件时,应用程序池会重启,重启的过程就会先启动一个新应用程序池(AppDomain还未加载),然后卸载前一个 应用程序池(卸载前一个AppDomain),如果你的请求刚好被分配到前一个应用程序池 ,那么就会出现该问题。当有个请求被分配到新的应用程序池时,此时应用程序池会加载一个新的AppDomain。

Launcher | 园豆:45045 (高人七级) | 2013-08-14 13:12

@Launcher: 好像是的,我把应用程序池回收一下就好了!

东方姑娘 | 园豆:186 (初学一级) | 2013-08-15 16:47

谢谢你!

东方姑娘 | 园豆:186 (初学一级) | 2013-08-15 16:48
其他回答(1)
0

程序中有没有涉及非托管代码的调用?

dudu | 园豆:30979 (高人七级) | 2013-08-14 12:23

使用了

支持(0) 反对(0) 东方姑娘 | 园豆:186 (初学一级) | 2013-08-15 16:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册