再谈跨域问题
今天新项目部署,还是原来的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没有问题)。