ASP.NET VirtualDirectory应用程序和网站的/ bin

时间:2009-08-05 19:28:29

标签: asp.net iis

经过相当多的搜索,我认为我的情况不同,我实际上要问一个问题!

我有一个公共消费网站和网站下虚拟根目录中的数据维护网站。我想让他们都使用相同的/ 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

这可行吗?

4 个答案:

答案 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。