在IIS中使用虚拟路径时无法加载资源? (C#.NET Core + Angular 7)

时间:2019-05-10 09:12:43

标签: angular web iis web-deployment

我有一个Web项目,该项目具有C#.NET Core后端,并在wwwroot目录中构建了Angular 7项目。

当我在IIS中为此项目创建一个单独的网站时,它可以正常工作(假设我将localhost <>添加到主机文件中)。

现在,我应该将项目作为具有默认应用程序池的默认网站中的应用程序进行部署。

我将项目添加为虚拟文件夹,然后将其转换为应用程序。

浏览器中的URL:localhost / mywebsite /

我只有一个空白的空白屏幕。后端可以正常运行,我在Advanced Rest Client中对其进行了测试,但是前端在虚拟“ / mywebsite”路径上遇到了问题。

“无法加载资源:服务器响应状态为404(未找到)”

wwwroot中的所有* .js文件都遇到了这个问题,而css文件也遇到了这个问题。

我尝试了localhost网址:

http://localhost/somejsfile。<>。js”

...并且它不起作用,但是当我以这种方式添加虚拟路径时:

http://localhost/mywebsite/somejsfile。<>。js”

我有我的js文件。

我确定我遗漏了一些明显的东西,因为这解决起来并不那么复杂...我不知道如何使Angular应用程序忽略此虚拟内容或使IIS不破坏应用程序

感谢您的帮助和建议:)

1 个答案:

答案 0 :(得分:0)

这是一个ASP.net应用程序,可能正是这里的问题所在。您的应用程序池标识必须具有权限(不一定是IIS标识;默认情况下,应用程序池标识是本地网络服务帐户。)您可能还需要在IIS计算机上运行caspol.exe。

http://msdn.microsoft.com/en-us/library/cb6t8dtz%28v=vs.80%29.aspx

http://learn.iis.net/page.aspx/50/aspnet-20-35-shared-hosting-configuration/

  

%windir%\ Microsoft.NET \ Framework \ v2.0.50727 \ caspol -m -ag 1. -url   “ file:// \ remotefileserver \ content $ *” FullTrust