Windows服务和IIS站点可以共享相同的dll吗?

时间:2010-07-16 11:46:55

标签: asp.net iis windows-services

Windows服务和IIS站点可以共享相同的dll吗?

也许是配置(web.config)?

3 个答案:

答案 0 :(得分:2)

配置文件,绝对不是。

DLL,当然你可以编写一次DLL并让它们都调用它 - 我假设在IIS站点你的意思是某种服务器端代码,如ASP.NET - 但我通常将DLL复制到这些地方他们每个人都期望找到他们的依赖,而不是乱用PATH等。

答案 1 :(得分:0)

是的,基本上是GAC中的dll分享

答案 2 :(得分:0)

你的意思是什么?他们当然可以引用相同的程序集。如果组件在GAC中,那就没问题了。通常,如果您不将内容放入GAC,则DLL将存在于每个项目的bin文件夹中。如果您不在GAC中,那么大多数情况下,即使文件有多个副本,您的部署或安装项目也会将它们放在适当的位置。重复无关紧要,特别是因为代码是相同的。

您不想尝试共享配置文件。该网站默认为web.config,您的服务默认为[您的服务名称] .exe.config。是的,你可以从技术上为一个或另一个动态加载配置,但它们很可能是不同的。在web.config中将为服务不需要的ASP.NET提供各种其他配置。

如果您确实想要共享一些配置信息,我会建议保留2个原始配置,并让它们引用第3个配置,它将具有您的常用配置设置。在每个应用程序中,您将从自己的配置文件中查找此配置位置,并动态加载第三个。