0

我正在构建一个 ASP.NET 3.5 Web 应用程序。当我运行项目时(使用 Visual Studio 的内置服务器),它需要能够以虚拟目录的形式访问网络共享。我似乎找不到任何有关如何执行此操作的信息。

网络资源非常大,更新频繁,被其他开发者和其他项目项目使用——不仅仅是我和我的。

我知道一旦部署了站点,我就可以为网络路径创建一个 IIS 虚拟目录,但这在我调试时对我没有帮助。

4

2 回答 2

3

您无法使用 Web 开发服务器执行此操作。它用于调试单个应用程序,而不是依赖于多个虚拟目录的应用程序。

它如何引用映射到共享的虚拟目录?通过重定向到该虚拟目录下的资源?如果是这样,那么在调试期间,您是否可以将它重定向到的位置更改为 IIS 虚拟目录?

于 2009-06-24T16:07:46.907 回答
0

现在可以使用较新版本的 Visual Studio 和 IIS Express 同时拥有虚拟目录和子应用程序。

  1. .vs\All\config\applicationhost.config在您选择的文本编辑器中打开,然后导航到该configuration/system.applicationHost/sites节点。

  2. 更新site与您的父应用程序对应的元素,如下所示:

原来的:

<site name="Web" id="1">
    <!-- parent application -->
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <!-- application root -->
        <virtualDirectory path="/" physicalPath="C:\Src\Web" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:5706:localhost" />
        <binding protocol="https" bindingInformation="*:44300:localhost" />
    </bindings>
</site>

修改的:

<site name="Web" id="1">
    <!-- parent application -->
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <!-- application root -->
        <virtualDirectory path="/" physicalPath="C:\Src\Web" />
        <!-- virtual directory -->
        <virtualDirectory path="/DocRoot" physicalPath="C:\Src\DocRoot" />
    </application>
    <!-- sub-application -->
    <application path="/FooBar" applicationPool="Clr4IntegratedAppPool">
        <!-- application root -->
        <virtualDirectory path="/" physicalPath="C:\Src\Foo Bar" />
        <!-- virtual directory; shared with parent app, so must be duplicated -->
        <virtualDirectory path="/DocRoot" physicalPath="C:\Src\DocRoot" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:5706:localhost" />
        <binding protocol="https" bindingInformation="*:44300:localhost" />
    </bindings>
</site>
  1. 保存并重新启动 IIS Express。
于 2019-10-10T19:06:15.263 回答