Tag: static files

如何使用Owin中间件拦截404

背景 首先让我解释一下背景。 我正在研究一个项目,该项目试图将使用通过IIS上托管的OWIN配置的Web API的后端服务器结合起来,但未来可能还有其他OWIN支持的主机 – 使用AngularJS的前端。 AngularJS前端完全是静态内容。 我完全避免服务器端技术,如MVC / Razor,WebForms,Bundles,任何与前端及其使用的资产有关的技术,而是推迟使用Node.js,Grunt / Gulp等最新最好的技术。处理CSS编译,捆绑,缩小等等。由于我不会进入这里的原因,我将前端和服务器项目保存在同一项目中的不同位置(而不是直接将它们全部放在Host项目中(参见raw下图)。 MyProject.sln server MyProject.Host MyProject.Host.csproj Startup.cs (etc.) frontend MyProjectApp app.js index.html MyProjectApp.njproj (etc.) 所以就前端而言,我需要做的就是让我的主机服务我的静态内容。 在Express.js中,这是微不足道的。 使用OWIN,我能够使用Microsoft.Owin.StaticFiles中间件轻松地完成此操作,并且它运行良好(非常灵活)。 这是我的OwinStartup配置: string dir = AppDomain.CurrentDomain.RelativeSearchPath; // get executing path string contentPath = Path.GetFullPath(Path.Combine(dir, @”../../../frontend/MyProjectApp”)); // resolve nearby frontend project directory app.UseFileServer(new FileServerOptions { EnableDefaultFiles = true, FileSystem = […]