我有一个使用 .NET Framework 4.6.2 的 ASP.NET Core MVC/WebAPI 项目。在我的解决方案中,每个环境(DEV、Staging、PROD)都有不同的图标图像。当显示 MVC 页面时,我可以毫无问题地将浏览器指向该环境的正确图标。但是,任何直接从 Web 浏览器完成的 API GET 调用,它始终默认为站点根目录下的 favicon.ico。有没有办法让它路由到一个可配置的值,以便我可以选择显示哪个值?
最佳答案
您可以通过中间件来做到这一点。只需确保 UseMiddleware<YourCustomMiddlware>
在 Startup.cs Configure
中方法位于 UseStaticFiles()
之前。这样,它将有机会在常规静态文件中间件之前拦截请求并响应它。
在您的自定义中间件中,您只需要检查请求的 url,如果它是针对根目录下的 fav 图标,那么您可以检查您是否在 Dev、Staging 或 PROD 中运行,并返回您想要的实际文件您所在的文件。
关于asp.net-web-api - 用于 WebAPI 的 MVC favicon.ico 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44210687/