【发布时间】:2010-07-16 11:46:55
【问题描述】:
Windows 服务和 IIS 站点可以共享相同的 dll 吗?
也许还有配置(web.config)?
【问题讨论】:
标签: asp.net iis windows-services
Windows 服务和 IIS 站点可以共享相同的 dll 吗?
也许还有配置(web.config)?
【问题讨论】:
标签: asp.net iis windows-services
配置文件,绝对不是。
DLL,当然你可以编写一次 DLL 并让它们都调用它——我假设 IIS 站点你的意思是某种服务器端代码,如 ASP.NET——但我通常将 DLL 复制到这些地方他们每个人都希望找到他们的依赖关系,而不是搞乱 PATH 等。
【讨论】:
是的,基本上是共享 GAC 中的 dll
【讨论】:
分享是什么意思?他们当然可以引用相同的程序集。如果程序集在 GAC 中,那就没问题了。通常,如果您不将内容放入 GAC,则 DLL 将位于每个项目的 bin 文件夹中。如果您不在 GAC 中,大多数情况下,您的部署或设置项目只会将它们放置在适当的位置,即使该文件有多个副本。重复并不重要,尤其是因为代码是相同的。
您不想尝试共享配置文件。该网站将默认为 web.config,您的服务将默认为 [您的服务名称].exe.config。是的,您可以从技术上为其中一个动态加载配置,但它们很可能会有所不同。 web.config 中将有各种服务不需要的 ASP.NET 附加配置。
如果您确实想分享一些配置信息,我建议您保留 2 个原始配置,并让他们参考第三个配置,该配置将为您提供通用配置设置。在每个应用程序中,您都可以从它们自己的配置文件中查找此配置位置,然后动态加载第三个。
【讨论】: