IIS Express与Website Project,如何在虚拟目录中使用?

时间:2011-05-09 12:30:42

标签: asp.net iis iis-express

我的生产环境有一个根,我的虚拟目录将位于根目录下的/ brazil文件夹中。

当我转换我的网站项目(不是网络应用程序)时,由于我的网站文件夹是巴西,因此可以正常使用Cassini / brazil,IIS Express将该网站置于root,我该如何更改?

1 个答案:

答案 0 :(得分:4)

我发现IIS Express与Web应用程序存在类似问题。从我所看到的,IIS Express实际上允许您在“Project Url”字段中定义一个文件夹,但是在启动它时会生成2个网站,一个包含文件夹,另一个包含根应用程序。问题在于它使用相同的文件夹,这会带来web.config继承问题。

我的解决方案是编辑托管文件并将根虚拟目录的physicalPath更改为系统中的空文件夹

例如:

<site name="MySite1" id="1">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\VisualStudioProjects\2010\MySite1\MySite1" />
    </application>
    <application path="/ssd">
        <virtualDirectory path="/" physicalPath="C:\VisualStudioProjects\2010\MySite1\MySite1" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:59473:localhost" />
        <binding protocol="https" bindingInformation="*:44302:localhost" />
    </bindings>
</site>

对此:

<site name="MySite1" id="1">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\TEMP\New folder" />
    </application>
    <application path="/ssd">
        <virtualDirectory path="/" physicalPath="C:\VisualStudioProjects\2010\MySite1\MySite1" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:59473:localhost" />
        <binding protocol="https" bindingInformation="*:44302:localhost" />
    </bindings>
</site>