我是Angular,webAPI和IIS的新手,我遇到了有关部署的问题: 因此,我有了一个有角度的前端,在webapi core 2.2中调用了RESTful服务。 让我提前告诉您问题所在:从Angular到RESTful服务的内部调用被某些内容阻止了,我不知道该如何解决。这是详细信息
我在IIS(在我们的Web服务器上)中创建了一个站点。我将其应用程序池设置为“无托管代码”。构建了生产版本,并将其移至Web服务器。下载了“ URL Rewrite”模块,按照我在这里所说的进行了配置,包括web.config:https://devblogs.microsoft.com/premier-developer/tips-for-running-an-angular-app-in-iis/(请参见下面的Web配置)
该图显示了如何配置URL重写。您还可以在那里看到我的网站“ Argonaut”有一个名为REST的子目录(我创建了一个虚拟目录……我认为那是必要的……?只有在将常规目录转换为虚拟目录后,该目录才起作用) 现在,来自Angualr客户端的REST调用类似于: http:/// rest / api / suppliergeneralchecks
但是它们被重新路由,我假设由于Angular路由\ URL RE-WRITE模块\我的web.config文件的某种组合),错误是:
错误错误:未捕获(承诺):错误:无法匹配任何路由。 网址段:“ rest / api / suppliergeneralchecks”错误:无法匹配任何 路线。
我的猜测是,我需要在某个地方使REST URL成为路由的例外...对吗?也许在web.config中的某个地方?
非常感谢!
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Angular Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/MyApp/" />
<!--<action type="Rewrite" url="/" />-->
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>