如何在 dotnet core web api 中设置起始页?
How to set start page in dotnet core web api?
我尝试使用 dotnet 核心 web api 构建一个 web 应用程序,但我不知道如何将 index.html 设置为可以使用 dotnet 框架 web 完成的起始页 api 容易地。我尝试使用 app.UseDefaultFiles();app.UseStaticFiles();
来解决这个问题,但是,它没有用。
如果您使用静态文件作为默认页面,以下代码可以帮助您。
app.UseDefaultFiles(new DefaultFilesOptions { DefaultFileNames = new
List<string> { "index.html" } });
如果您使用的是 MVC 视图,只需添加路由角色即可。
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}");
});
如果Index.html在项目根目录下,默认发送。
在Properties/launchSettings.json
中你可以定义launchUrl
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "<your relative URL here>",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
您的 index.html 文件必须在 wwwroot 文件夹中
wwwroot / index.html
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files
步骤 1
app.UseDefaultFiles();
app.UseStaticFiles();
步骤 2
创建一个名为“wwwroot”的文件夹。放一个名为 index.html
的文件
步骤 3(可选)
如果您使用的是自动生成的模板,您可以像这样删除将 launchUrl 设为空白
"launchUrl": "",
否则,在 localhost 运行.
期间,您每次都必须手动继续转到登录页面
这是正确的方法。但总是在 UseStaticFiles
之前使用 UseDefaultFiles()
不然不行。
您可以使用startup.cs 中的options.DefaultFileNames.Add 将wwwroot 下任何文件夹中的任何文件设置为默认文件。
例如要在 wwwroot/folder1/folder2/myfile.html 中使用 myfile.html,您将在 Startup.cs
中添加它
options.DefaultFileNames.Clear();
options.DefaultFileNames.Add("folder1/folder2/ myfile.html");
app.UseDefaultFiles(选项);
app.UseStaticFiles();
但有时它可能不起作用。例如
我创建了项目 File menu > New > Project ,然后选择 .NET Core > ASP.NET Core Web Application 并选择 Web Api 作为项目模板。
F5 始终打开页面 api/values,即使我在 wwwroot 文件夹中添加了 index.html 并在 startup.cs[=32= 中添加了以下内容]
DefaultFilesOptions options = new DefaultFilesOptions();
options.DefaultFileNames.Clear();
options.DefaultFileNames.Add("mypage.html");
app.UseDefaultFiles(options);
app.UseStaticFiles();
然后我打开项目属性页面并删除了[=40=中的值] 浏览器框(设置为api/values)
现在启动页面的设置正在工作,mypage.html 是启动页面。请注意,此页面应位于 wwwroot 文件夹中,因为您已选择使用静态文件。
对于 Asp.Net Core 2.0/2.1/2.2 只需右键单击项目 → 属性 → 调试
并在“启动浏览器”复选框旁边设置所需启动页面的路径。
对于 Asp.Net Core 2.2,右键单击“项目”→“属性”→“调试”,然后在“启动浏览器”复选框旁边将路径设置为所需的启动页面。
Project VS
对于 dotnet 核心 web api 3.1,在 launchSettings.json
文件集上 "launchUrl": "swagger/index.html",
我尝试使用 dotnet 核心 web api 构建一个 web 应用程序,但我不知道如何将 index.html 设置为可以使用 dotnet 框架 web 完成的起始页 api 容易地。我尝试使用 app.UseDefaultFiles();app.UseStaticFiles();
来解决这个问题,但是,它没有用。
如果您使用静态文件作为默认页面,以下代码可以帮助您。
app.UseDefaultFiles(new DefaultFilesOptions { DefaultFileNames = new
List<string> { "index.html" } });
如果您使用的是 MVC 视图,只需添加路由角色即可。
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}");
});
如果Index.html在项目根目录下,默认发送。
在Properties/launchSettings.json
中你可以定义launchUrl
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "<your relative URL here>",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
您的 index.html 文件必须在 wwwroot 文件夹中
wwwroot / index.html
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files
步骤 1
app.UseDefaultFiles();
app.UseStaticFiles();
步骤 2
创建一个名为“wwwroot”的文件夹。放一个名为 index.html
的文件步骤 3(可选)
如果您使用的是自动生成的模板,您可以像这样删除将 launchUrl 设为空白
"launchUrl": "",
否则,在 localhost 运行.
期间,您每次都必须手动继续转到登录页面这是正确的方法。但总是在 UseStaticFiles
之前使用 UseDefaultFiles()
不然不行。
您可以使用startup.cs 中的options.DefaultFileNames.Add 将wwwroot 下任何文件夹中的任何文件设置为默认文件。
例如要在 wwwroot/folder1/folder2/myfile.html 中使用 myfile.html,您将在 Startup.cs
中添加它
options.DefaultFileNames.Clear();
options.DefaultFileNames.Add("folder1/folder2/ myfile.html");
app.UseDefaultFiles(选项);
app.UseStaticFiles();
但有时它可能不起作用。例如 我创建了项目 File menu > New > Project ,然后选择 .NET Core > ASP.NET Core Web Application 并选择 Web Api 作为项目模板。 F5 始终打开页面 api/values,即使我在 wwwroot 文件夹中添加了 index.html 并在 startup.cs[=32= 中添加了以下内容]
DefaultFilesOptions options = new DefaultFilesOptions();
options.DefaultFileNames.Clear();
options.DefaultFileNames.Add("mypage.html");
app.UseDefaultFiles(options);
app.UseStaticFiles();
然后我打开项目属性页面并删除了[=40=中的值] 浏览器框(设置为api/values) 现在启动页面的设置正在工作,mypage.html 是启动页面。请注意,此页面应位于 wwwroot 文件夹中,因为您已选择使用静态文件。
对于 Asp.Net Core 2.0/2.1/2.2 只需右键单击项目 → 属性 → 调试 并在“启动浏览器”复选框旁边设置所需启动页面的路径。
对于 Asp.Net Core 2.2,右键单击“项目”→“属性”→“调试”,然后在“启动浏览器”复选框旁边将路径设置为所需的启动页面。
Project VS
对于 dotnet 核心 web api 3.1,在 launchSettings.json
文件集上 "launchUrl": "swagger/index.html",