J'ai créé une nouvelle application Web ASP.NET Core 3.0 et sélectionné l'option Model-View-Controller. Je voulais ajouter le côté Blazor Server, j'ai donc ajouté ce qui suit au fichier Startup.cs.
services.AddServerSideBlazor();
endpoints.MapBlazorHub();
et ajouté le fichier de script
<script src="_framework/blazor.server.js"></script>
dans mon fichier de mise en page.
J'ai créé un composant simple qui affiche ce que j'entre dans une zone de texte et j'ai ajouté le composant à mon Index.cshtml
vue. Il fonctionne dans Visual Studio, mais lorsque je le pousse vers mon serveur 2016 interne, le composant est rendu mais le texte n'est pas affiché. L'application ne semble pas trouver le blazor.server.js
fichier.
Y a-t-il une autre étape de déploiement qui me manque pour pousser le fichier JS?
Comme blazor.server.js
Est un fichier statique, assurez-vous d'ajouter app.UseStaticFiles();
dans startup.cs
.
Dans mon cas,
app.UseStaticFiles(new StaticFileOptions
{
ServeUnknownFileTypes = true,
DefaultContentType = "application/octet-stream"
});
est la cause du problème. Remplacez-le par:
app.UseStaticFiles();
résolu le problème. J'ai pensé que DefaultContentType
était peut-être le problème.
Tout le monde sait mieux pourquoi c'est le cas, veuillez mettre à jour cette réponse.