IIS FTP 7.5:自定义扩展组件被缓存并不会被更新(IIS FTP 7.5: custom e

2019-09-26 20:34发布

在Windows 7 IIS FTP 7.5缓存与自定义扩展(托管代码,C#)的组件。

一旦你启动服务器首次与该库文件,它的新版本将无法从海关总署等回升,无论是否重新启动服务器,安装,卸载

得到新的实现文件到IIS FTP的唯一方法是在强名称更改版本的名称。

有没有一种方法,以取代执行不改变版本号,只需替换文件?

这种怪异的行为使得调试和MGMT变化几乎是不可能的。

这个帖子由Artiom观察到类似的现象: http://www.flexlabs.org/IIS7-Modules/custom-authentication-extension

Answer 1:

发现这个“缓存”的原因。

IIS运行在称为“Microsoft FTP发布服务扩展主机” COM +应用程序扩展组件。 一旦扩展被加载,该组件被装载到相应的处理(由DLLHOST.EXE托管),因此不会立即通过任何GAC变化的影响。

工作溶液(覆盖更多的元素比原始质询的范围):

  • FTP服务被配置为加载使用.NET 3.5我的扩展部件写入 - 因为它仅接受.NET 2.0运行; 如果实现在运行4扩展它根本不会运行

  • 扩展组件,反过来,需求正在使用.NET 4.5中实现大的代码库 - 它通过COM这样做(这些API被注册COM,但不是在GAC)

  • 当我重新编译FTP服务扩展,它足以更新GAC和关闭“微软FTP发布服务扩展主机” COM +应用程序,最好是FTP服务了。

现在我没有改变强名称(通过改变版本号)的FTP服务延伸组件的每一个变化。



文章来源: IIS FTP 7.5: custom extension assembly gets cached and won't be updated