再谈跨域问题

今天新项目部署,还是原来的asp.net webapi,还是原来的跨域问题解决方法

通过修改web.config,加入以下代码

 <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="Origin,X-Requested-With,Content-Type,accept,key,Cache-Control,If-Modified-Since" />
        <add name="Access-Control-Allow-Methods" value="PUT,GET,POST,DELETE,OPTIONS" />
      </customHeaders>
    </httpProtocol>

在本机调试一切Ok;

但是发布到服务器时发现,get请求没有问题,post请求404find;通过浏览器看到,OPTIONS请求没有通过。通过搜索找到答案,按删除

webconfig下的<remove name="OPTIONSVerbHandler" />配置。

记录一下。有以下疑问:为什么原来的项目没有问题呢?两个项目的区别是 原来用的Swashbuckle 、swagger.net 和swagger.net ui三个包做API文档生成,

现在用的swagger-Net来做api文档生成,而且发布时,整个网站报没有发现swagger配置文件的错,删除之后才能使用(依然是本地iis没有问题)。

 

posted @ 2017-10-19 19:25  寻道人  阅读(130)  评论(0编辑  收藏  举报