Próbuję zbudować aplikację internetową z interfejsem sieciowym dotnet core, ale nie wiem jak ustawić index.html jako stronę startową, którą można łatwo zrobić za pomocą interfejsu API dotnet. I próbowałem użyć app.UseDefaultFiles();app.UseStaticFiles();
, aby rozwiązać ten problem, jednak nie zadziałało.Jak ustawić stronę startową w interfejsie internetowym dotnet core?
Odpowiedz
Jeśli używasz pliku statycznego jako strony domyślnej, pomocny może być poniższy kod.
app.UseDefaultFiles(new DefaultFilesOptions { DefaultFileNames = new
List<string> { "index.html" } });
Jeśli używasz widoku MVC, po prostu dodaj rolę routingu.
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}");
});
Jeśli Index.html jest w katalogu głównym projektu, zostanie domyślnie wysłane.
W launchSettings.json można zdefiniować launchUrl
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "<your relative URL here>",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
Twój plik index.html musi być w folderze wwwroot
wwwroot/index.html
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files
To pytanie zostało zaakceptowane od roku. Jesteś pewien, że twoja odpowiedź jest istotna? – sisve
Korzystanie
app.UseDefaultFiles();
app.UseStaticFiles();
jest poprawny sposób. Ale zawsze używaj UseDefaultFiles()
przed UseStaticFiles
W przeciwnym razie nie będzie działać.
Dla odniesienia: Core fundamentals of Static Files
Gdzie jest index.html? W folderze wwwroot lub katalogu głównym projektu? –
@ademcaglin wwwroot.i rozwiązał ten problem, wpisując właściwy adres URL w przeglądarce. Kiedy uruchomię aplikację, przeglądarka rozpocznie od adresu URL takiego jak ip: numer portu/api/wartości i zignoruje go.just app.UseDefaultFiles() ; app.UseStaticFiles(); jest w porządku. –