经过相当多的搜索,我认为我的情况不同,我实际上要问一个问题!
我有一个公共消费网站和网站下虚拟根目录中的数据维护网站。我想让他们都使用相同的/ bin文件夹,但我不能让它工作。虚拟根具有不同(更严格的)IP访问控制。 IIS看到了这个:
www.abc.com -> C:\Website
/Maintenance -> C:\Maintenance
www.abc.com有一个C:\ Website \ bin和C:\ website \ web.config。
我希望/ Maintennace也使用C:\ Website \ bin。他们似乎'级联'web.configs - C:\ Website \ web.config定义了一些东西并引用其bin文件夹中的程序集。当/ Maintenance启动时,我收到有关无法解析C:\ Website \ web.config中引用的程序集的错误。 C:\ Maintenance \ web.config也会被处理。
IIS6,ASP.NET 3.5,Win2k3
这可行吗?
答案 0 :(得分:1)
您可以从C:\ Maintenance \ web.config取消注册DLL文件。当我在DotNetNuke根网站下创建一个sun virtral目录时,我曾经这样做过。例如,如果您在C:\ website \ web.config中引用HTTP模块:
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
您可以从C:\ Maintenance \ web.config中删除引用:
<httpModules>
<remove name="ScriptModule"/>
</httpModules>
答案 1 :(得分:1)
我对你的问题的目标有点不清楚,但是如果你想要处理bin目录之外的其他目录以获得维护站点的程序集参考,你可以使用web.config运行时配置的<probe>
元素。
它允许您指定解析引用的其他路径,而不仅仅是“bin”。由于这是非常相似to this question asked earlier today,我只是链接它,以便您可以查看那里的示例和答案。希望它可以帮助你。
答案 2 :(得分:0)
您必须在虚拟目录/应用程序中创建一个单独的bin。
答案 3 :(得分:0)
我最终做的是在C:\ Website下移动/维护并完全摆脱虚拟目录。这允许他们共享相同的/ bin,最后我得到相同的URL。