我尝试使用dotnet core web api构建一个Web应用程序,但我不知道如何将index.html设置为起始页面,这可以通过dotnet framework web api轻松完成。我尝试使用app.UseDefaultFiles();app.UseStaticFiles();
来解决这个问题,然而,它没有用。
答案 0 :(得分:43)
在launchSettings.json中,您可以定义launchUrl
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "<your relative URL here>",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
答案 1 :(得分:26)
如果您使用静态文件作为默认页面,以下代码可以为您提供帮助。
app.UseDefaultFiles(new DefaultFilesOptions { DefaultFileNames = new
List<string> { "index.html" } });
如果您正在使用MVC视图,只需添加路由角色即可。
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}");
});
答案 2 :(得分:16)
使用
app.UseDefaultFiles();
app.UseStaticFiles();
是正确的方法。但始终在UseDefaultFiles()
之前使用UseStaticFiles
否则它就不会起作用。
答案 3 :(得分:7)
您的index.html文件必须位于wwwroot文件夹
中wwwroot / index.html
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files
答案 4 :(得分:6)
对于Asp.Net Core 2.1,只需右键单击项目->属性->调试 并在“启动浏览器”复选框旁边,将路径设置为所需的启动页面。
答案 5 :(得分:5)
您可以使用startup.cs中的options.DefaultFileNames.Add将wwwroot下的任何文件夹中的任何文件设置为defaut文件。
例如,在wwwroot / folder1 / folder2 / myfile.html中使用myfile.html,您将在Startup.cs中添加它。
options.DefaultFileNames.Clear();
options.DefaultFileNames.Add(&#34; folder1 / folder2 / myfile.html&#34;);
app.UseDefaultFiles(选项);
app.UseStaticFiles();
但有一段时间它可能无效。例如 我创建了项目文件菜单&gt;新&gt;项目,然后选择.NET Core&gt; ASP.NET Core Web Application和选定的Web Api作为项目模板。 F5总是打开页面api /值,即使我在wwwroot文件夹中添加了index.html并在 startup.cs
中添加了以下内容DefaultFilesOptions options = new DefaultFilesOptions();
options.DefaultFileNames.Clear();
options.DefaultFileNames.Add("mypage.html");
app.UseDefaultFiles(options);
app.UseStaticFiles();
然后我 打开了项目属性 页面并删除了 调试/启动浏览器框 中的值(这是设置为api /值) 现在启动页面设置正常,mypage.html是启动页面。请注意,由于您选择使用静态文件,因此该页面应位于wwwroot文件夹中。
答案 6 :(得分:2)
对于Asp.Net Core 2.2,右键单击“项目”→“属性”→“调试”,然后在“启动浏览器”复选框旁边设置所需的启动页面的路径。
答案 7 :(得分:0)
如果Index.html在项目根目录中,则默认情况下会发送。
答案 8 :(得分:0)
对于dotnet核心Web API 3.1,在launchSettings.json
文件集"launchUrl": "swagger/index.html",
上