我是编程新手,我能够自己解决大部分问题。但这个问题超出了我的想象。
我正在使用 Visual Studio 在本地运行我的应用程序。当我在 VS 中单击“IIS Express”来运行该应用程序时,该应用程序将在带有 url 的浏览器中打开http://localhost:1234/
并提供静态文件。
但是,当我使用 IIS 托管我的应用程序时,例如当我键入时myapp.com
在我的浏览器中,我看到纯文本的网站。并且没有提供静态文件(css、js)。
不确定是什么导致了这个问题。我google了很长时间,读了很多帖子,但大多数都是要求检查IIS是否开启了静态角色服务或建议使用app.UseStaticFiles()
within startup.cs
文件。在我的例子中已经完成了。
程序.cs:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
启动.cs:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseDefaultFiles();
app.UseStaticFiles();
}
任何帮助深表感谢。
我不知道当我们从 Visual Studio 将其发布到“文件和文件夹”时,我们在 Visual Studio 中所做的任何更改都不会传递到已发布的文件夹。由于这个原因“app.UseStaticFiles();”命令(我在发布后编写的)不会传递到已发布的文件夹。我必须删除已发布的文件夹并重新发布才能使一切正常工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)