在IIS上托管的Owin不会捕获带有"Dot"的URL.

 AIHFKYH_986 发布于 2023-01-08 13:04

我有一个owin项目,我使用Microsoft.Owin.Host.SystemWeb托管它.它工作正常,但如果我在网址中有一个Dot它失败了,我得到了404.例如

localhost:4070/cdn/aa有效

localhost:4070/cdn/aa不起作用

我也做了以下改动


      
  

我确信这个设置解决了普通的asp.net web api中的问题,但我和Owin有这个问题.

更新

我用owin主机试过这个类似的行为,用"."调用.没有路由到webapi.

我可以理解当url的最后一部分中有一个点时,框架认为它是一个文件并尝试处理它的行为,但我的问题是我想在我的正常管道中处理这些url.我实际上正在为Microsoft cdn编写代理,并且这些文件是在运行时使用另一台服务器生成的.

1 个回答
  • 这个配置对我有用:

    <system.webServer>
      <handlers>
        <add name="OWIN" path="*" verb="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler" />
      </handlers>
    </system.webServer>
    

    为了从"public /"文件夹获取文件路径并将其作为响应,我最终得到了这个:

    string filePath = System.Web.Hosting.HostingEnvironment.MapPath("~/public" + context.Request.Path);
    

    2023-01-08 13:06 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有