添加引用:
<
package
id
=
"Microsoft.Owin"
version
=
"4.0.1"
targetFramework
=
"net461"
/>
<
package
id
=
"Microsoft.Owin.FileSystems"
version
=
"4.0.1"
targetFramework
=
"net461"
/>
<
package
id
=
"Microsoft.Owin.Hosting"
version
=
"4.0.2"
targetFramework
=
"net461"
/>
<
package
id
=
"Microsoft.Owin.StaticFiles"
version
=
"4.0.1"
targetFramework
=
"net461"
/>
appBuilder.UseFileServer(new FileServerOptions()
{
RequestPath = PathString.Empty,
FileSystem = new PhysicalFileSystem(@".")
});
appBuilder.UseStaticFiles("/Views");
appBuilder.UseStaticFiles("/Scripts");
appBuilder.UseStaticFiles("/js");
appBuilder.UseStaticFiles("/Content");
// Configure Web API for self-host.
HttpConfiguration config = new HttpConfiguration();
// Enable attribute based routing
// http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2
config.MapHttpAttributeRoutes();
// Remove the XML formatter
config.Formatters.Remove(config.Formatters.XmlFormatter);
config.Routes.MapHttpRoute(
name: "AfterglowAPI",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
appBuilder.UseWebApi(config);
}
效果:
参考:https://chris.59north.com/post/What-is-OWIN-and-what-is-it-doing-in-my-new-ASPNET-MVC-project
https://mirkomaggioni.com/2016/09/11/owin-middleware-for-static-files/
https://odetocode.com/blogs/scott/archive/2014/02/10/building-a-simple-file-server-with-owin-and-katana.aspx
https://github.com/aspnet/AspNetKatana/tree/dev/src
https://beginor.github.io/2015/12/28/owin-static-file-middleware.html
http://johnatten.com/2015/01/04/asp-net-understanding-owin-katana-and-the-middleware-pipeline/