如何在Azure中使用此IIS Express配置(使用虚拟目录)

时间:2017-05-29 16:26:00

标签: asp.net api azure-web-sites azure-pipelines virtual-directory

这是我的IIS Express配置。

<sites>
    <site name="Test.Web" id="1">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\dev\test\Test.Web" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:56428:localhost" />
        </bindings>
    </site>
    <site name="Test.Api" id="2">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\dev\test\Test.Api" />
        </application>
        <application path="/Foo" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\dev\test\Foo.Api" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:51913:localhost" />
        </bindings>
    </site>
    <siteDefaults>
        <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
        <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
    </siteDefaults>
    <applicationDefaults applicationPool="Clr4IntegratedAppPool" />
    <virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

所以我想要的是一个Web项目(Test.Web),一个API项目(Test.API)和一个子API项目(Foo.API)。

这在本地工作,其中Web项目在端口56428上可用,API项目在端口51913上可用,如果在请求中使用/ Foo前缀,则子API项目在同一端口上可用。

尝试配置azure,以便将Web项目部署到http://{web}.azurewebsites.net/,并将API项目部署到http://{api}.azurewebsites.net/

当我只有一个Web项目和一个API项目时,我完成了这个。但是在添加子API项目之后,对api服务器的所有请求都会返回默认的IIS 500错误(html页面和所有)。

这是我的设置 -

enter image description here enter image description here enter image description here

UPDATE -

我目前正在关注本教程,现在只是通过VS发布。

https://blogs.msdn.microsoft.com/tomholl/2014/09/21/deploying-multiple-virtual-directories-to-a-single-azure-website/

我的API项目正在部署到与Web项目相同的物理空间,并覆盖Web.config等内容。这与使用&#34; Basic&#34;有什么关系吗?免费服务计划?

更新更新

管理以通过VS发布工作。如果我可以使用自动部署进行复制,我会更新

1 个答案:

答案 0 :(得分:0)

请参阅以下步骤,将app部署到应用服务的虚拟目录。

  1. 创建虚拟目录(应用程序设置&gt;虚拟应用程序和目录)
  2. enter image description here

    1. 指定Azure App Service Deploy任务的虚拟应用程序。
    2. enter image description here