Asp Net Core如何提供html静态页面?

Gom*_*ket 6 asp.net asp.net-mvc razor asp.net-core-mvc asp.net-core

我最近开了一个Asp .Net Core应用程序.后来我想将它与角整合,但首先我需要一个机制,将"替换" cshtmlhtml.

如果我改变扩展名cshtml,html我就得到这个

'InvalidOperationException:找不到'索引'视图'.

我也尝试过Startup

app.UseStaticFiles();
app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");      
});
Run Code Online (Sandbox Code Playgroud)

但它也没有用.

可选的是将cshtml布局内容与html页面集成,但我认为这是不可能的.

所以,我的问题是,我可以简单地用html替换所有的cshtml吗?

Ash*_*man 13

静态文件通常位于Web根目录(wwwroot)文件夹中.默认情况下,这是我们可以直接从文件系统提供文件的唯一位置.

1. html在(wwwroot)名称中创建一个文件index.html

2. Microsoft.AspNet.StaticFiles通过NuGet安装包

3. UseStaticFilesStartup.csConfigure方法下添加

public void Configure(IApplicationBuilder app)
{
    app.UseStaticFiles(); // For the wwwroot folder

    // if you want to run outside wwwroot then use this
    //request like http://<app>/StaticFiles/index.html
   /* app.UseStaticFiles(new StaticFileOptions()
    {
        FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(), @"MyStaticFiles")),
        RequestPath = new PathString("/StaticFiles")
    });*/
}
Run Code Online (Sandbox Code Playgroud)

如果你想在外面运行静态文件wwwroot,那么 -

public void Configure(IApplicationBuilder app)
{
    app.UseStaticFiles(); // For the wwwroot folder

    //request like http://<app>/StaticFiles/index.html
    app.UseStaticFiles(new StaticFileOptions()
    {
        FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(), @"MyStaticFiles")),
        RequestPath = new PathString("/StaticFiles")
    });
}
Run Code Online (Sandbox Code Playgroud)

你的要求就好 http://<app>/StaticFiles/index.html

如果你想index.html成为你的默认文件,那么这是IIS一直拥有的功能

public void Configure(IApplicationBuilder app)  { 
   app.UseIISPlatformHandler();  
   app.UseDeveloperExceptionPage(); 

   app.UseRuntimeInfoPage();  
   app.UseDefaultFiles(); 
   app.UseStaticFiles();

}
Run Code Online (Sandbox Code Playgroud)

希望它对你有所帮助.你可以从更多信息,这个链接.