Mik*_*sas 18 asp.net-mvc blazor asp.net-core-3.0
我创建了一个新的 ASP.NET Core 3.0 Web 应用程序并选择了模型-视图-控制器选项。我想添加 Blazor 服务器端,所以我将以下内容添加到 Startup.cs 文件中。
services.AddServerSideBlazor();
endpoints.MapBlazorHub();
Run Code Online (Sandbox Code Playgroud)
并添加了脚本文件
<script src="_framework/blazor.server.js"></script>
Run Code Online (Sandbox Code Playgroud)
在我的布局文件中。
我创建了一个简单的组件来显示我在文本框中输入的内容,并将该组件添加到我的Index.cshtml视图中。它在 Visual Studio 中工作,但是当我将它推送到我的内部 2016 服务器时,该组件已呈现,但文本未显示。该应用程序似乎无法找到该blazor.server.js文件。
我是否缺少其他一些部署步骤来推送 JS 文件?
就我而言,
app.UseStaticFiles(new StaticFileOptions
{
ServeUnknownFileTypes = true,
DefaultContentType = "application/octet-stream"
});
Run Code Online (Sandbox Code Playgroud)
是什么导致了这个问题。替换为:
app.UseStaticFiles();
Run Code Online (Sandbox Code Playgroud)
解决了这个问题。我想也许DefaultContentType是问题所在。
任何人都知道为什么会这样,请更新此答案。
小智 6
https://learn.microsoft.com/en-us/aspnet/core/blazor/fundamentals/static-files?view=aspnetcore-5.0
在 Startup.Configure (Startup.cs) 中使用两次对 UseStaticFiles 的调用:
在第一次调用时使用 StaticFileOptions 配置自定义文件提供程序。第二个中间件提供 blazor.server.js,它使用 Blazor 框架提供的默认静态文件配置。C#
using Microsoft.AspNetCore.StaticFiles;
...
var provider = new FileExtensionContentTypeProvider();
provider.Mappings["{EXTENSION}"] = "{CONTENT TYPE}";
app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = provider });
app.UseStaticFiles();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7432 次 |
| 最近记录: |