首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS 7.5:自定义扩展程序集被缓存,不会被更新

问IIS 7.5:自定义扩展程序集被缓存,不会被更新
EN

Stack Overflow用户
提问于 2013-10-14 23:26:10
回答 1查看 492关注 0票数 1

IIS 7.5在Windows 7上使用自定义扩展(托管代码,C#)缓存程序集。

一旦您第一次使用该库文件启动服务器,无论您是否重新启动服务器、安装-从GAC卸载等,都不会获得它的新版本。

将新的实现文件导入IIS FTP的唯一方法是在强名称中更改版本号。

是否有一种在不更改版本号的情况下替换实现的方法,只需替换文件?

这种奇怪的行为使得调试和更改mgmt几乎是不可能的。

Artiom在这篇文章中观察到了类似的行为:http://www.flexlabs.org/IIS7-Modules/custom-authentication-extension

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-07 16:15:04

找到了这种“缓存”的原因。

IIS在名为"Microsoft发布服务可扩展性主机“的COM+应用程序中运行可扩展性组件。加载扩展后,程序集将加载到相应的进程(由dllhost.exe托管),因此不会立即受到任何GAC更改的影响。

工作解决方案(涉及的内容比最初问题的范围稍多一点):

  • FTP服务配置为加载使用.NET 3.5编写的扩展组件--因为它只接受.NET 2.0运行时;如果在运行时4中实现扩展,它就不会运行
  • 扩展组件需要使用.NET 4.5实现的大型代码库--它是通过COM实现的(这些API是在COM中注册的,而不是在GAC中注册的)
  • 当我重新编译FTP服务扩展时,只需更新GAC并关闭"Microsoft发布服务扩展主机“COM+应用程序,最好也关闭FTP服务。

现在,我不必为每次更改更改FTP服务扩展程序集的强名称(通过更改版本号)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19370878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档