反射以后的问题。

simonzone 2005-02-17 04:04:23
Assembly.LoadFrom("c:\\test.dll").CreateInstance("test.sample");

通过这样动态创建实例后,文件test.dll已被进程锁定,导致无法更新等等,需要关闭solution后等待长时间才会解锁。

谁遇到过这样的问题?
...全文
150 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiaoci 2005-02-17
  • 打赏
  • 举报
回复
缓冲功能的控制在 控制面板\管理工具\internet服务管理器

选择web站点下的一个应用, 属性\虚拟目录\配置\应用程序配置\应用程序选项

把 启用缓冲 选项去掉 后重新启动一下Web服务

仅供参考, 我不搞 Asp.Net , 所以如果无效别找我,呵呵
tiaoci 2005-02-17
  • 打赏
  • 举报
回复
如果你仅仅是因为在调试时重新编译无法覆盖这个文件

那么你可以试试把IIS 网站 的缓冲功能关掉

我想不出有什么理由要在实际运行环境下要覆盖dll
tiaoci 2005-02-17
  • 打赏
  • 举报
回复
asp.net 中有自己的AppDomain管理机制

一般是aspnet_wp.exe创建出一些AppDomain,

让这些Domain来处理Web请求

当Domain的Web请求达到一定数量或到一定的空闲后,

再释放这个AppDomain

所以一般情况你是无法释放这个test.dll

simonzone 2005-02-17
  • 打赏
  • 举报
回复
我是在asp.net中调用了这个方法的。
有没有办法自己解锁呢?
nga96 2005-02-17
  • 打赏
  • 举报
回复
顶,
tiaoci 2005-02-17
  • 打赏
  • 举报
回复
调用
Assembly.LoadFrom("c:\\test.dll").CreateInstance("test.sample");

的程序没有关闭呗,你是不是用了DCOM/Remoting/ASP.NET

在这种服务中创建的test.sample要等相应的程序关闭/释放后才能删除test.dll

jialiang 2005-02-17
  • 打赏
  • 举报
回复
up

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧