关于.NET WebAPI 常见的跨域问题 解决清单
2017-06-07 16:06
162 查看
还没有学习WebAPI的读者,请移步http://www.cnblogs.com/landeanfen/p/5337072.html
前言:
以下问题虽然解决方法虽简单,但是相信浪费了很多人很多的时间。
如百度中“405错误怎么办”、“接口跨域问题怎么解决”、“post接收不到参数”等…
其实这些问题都是本地调试时的问题,当挂到服务器之后屁事没有。其实本地访问接口和挂到服务器之后是不一样的。
下面根据本人经验,顺序说明了内网调试接口时问题产生的原因和解决方法。希望对你有帮助。
清单:
1.在vs2013以上版本新建web项目时,会在项目类型下放出现(winfrom、api、mvc)三个选项
2.如果你要追求完美,建webAPI只勾API一个选项,那么你想调试post的时候,就没有页面给你写ajax调试。
3.这时,你想到在原项目新建一个MVC控制器用来调试,它就会把所有因为你之前没勾MVC选项的所有相关文件及类加载进来,而后可能会因为微软部分vs版本的BUG,导致你新建用来调试post的mvc页面无法打开。
4.这时,你想另外新建一个网页项目单独来调post接口,会出现405跨域问题,无法调试。
5.这时,你想到通过第三方调试工具调试,则会出现能进入post方法,但参数为空的问题(这是因为第三方工具和微软的webAPI不兼容,你换成不规范的参数写法如,string a,string b 就能获取到)
6.所以. 最好的开发调试webAPI的方式应是,新建项目的时候,新建WebAPI(保证mvc和api都勾上),然后在这项目里 你可以让“api控制器”和“页面的控制器”同时存在。并且开启调试,随便你怎么调都不会有问题。
7.为了追求完美,当你要发布的时候,再新建一个纯webAPI 直接把调好的接口控制器拷贝过去 发布即可。
ps:
所有接口方法,建议全用自定义命名方式
例:
这样就可以保证接口文件在不同项目之间拷贝时,不用改动且不会出错。
前言:
以下问题虽然解决方法虽简单,但是相信浪费了很多人很多的时间。
如百度中“405错误怎么办”、“接口跨域问题怎么解决”、“post接收不到参数”等…
其实这些问题都是本地调试时的问题,当挂到服务器之后屁事没有。其实本地访问接口和挂到服务器之后是不一样的。
下面根据本人经验,顺序说明了内网调试接口时问题产生的原因和解决方法。希望对你有帮助。
清单:
1.在vs2013以上版本新建web项目时,会在项目类型下放出现(winfrom、api、mvc)三个选项
2.如果你要追求完美,建webAPI只勾API一个选项,那么你想调试post的时候,就没有页面给你写ajax调试。
3.这时,你想到在原项目新建一个MVC控制器用来调试,它就会把所有因为你之前没勾MVC选项的所有相关文件及类加载进来,而后可能会因为微软部分vs版本的BUG,导致你新建用来调试post的mvc页面无法打开。
4.这时,你想另外新建一个网页项目单独来调post接口,会出现405跨域问题,无法调试。
5.这时,你想到通过第三方调试工具调试,则会出现能进入post方法,但参数为空的问题(这是因为第三方工具和微软的webAPI不兼容,你换成不规范的参数写法如,string a,string b 就能获取到)
6.所以. 最好的开发调试webAPI的方式应是,新建项目的时候,新建WebAPI(保证mvc和api都勾上),然后在这项目里 你可以让“api控制器”和“页面的控制器”同时存在。并且开启调试,随便你怎么调都不会有问题。
7.为了追求完美,当你要发布的时候,再新建一个纯webAPI 直接把调好的接口控制器拷贝过去 发布即可。
ps:
所有接口方法,建议全用自定义命名方式
例:
[HttpPost] [Route("Pr/Kong/PostTest2")] public string PostTest2(dynamic obj) { return "调用成功,参数name:" + obj.name + "\n参数age:" + obj.age; }
这样就可以保证接口文件在不同项目之间拷贝时,不用改动且不会出错。
相关文章推荐
- 关于WebApi 跨域问题的解决的方式
- 关于AJAX调用ASP.NET MVC 或者WEBAPI项目提示I跨域问题的解决办法
- 在WEB程序中使用.NET Remoting的IpcChannel时注意事项(关于“拒绝访问”问题的解决)
- WIN8下面安装.NET 3.5的常见问题解决
- 今天解决了两个关于.NET读取EXCEL文件的问题,记下来,很有用!
- 关于.net里调用外部CSS失效的问题解决
- .Net中关于Random类产生的随机数相同问题解决
- 关于.NET点击图片就可刷性验证码的问题解决方法
- 常见问题及解决办法 整理之6(关于死锁)
- flex关于跨域访问会引起安全沙箱问题,下面是在网上找到的解决安全沙箱问题的方法
- 关于.net里调用外部CSS失效的问题解决
- .net关于如何给用户控件传值问题解决
- PHP关于IE下的iframe跨域导致session丢失问题解决方法
- 今天你AJAX了没有?——关于AJAX应用所解决的一些常见问题
- 关于flash跨域问题的解决办法
- 关于解决Flex跨域访问的沙箱冲突问题
- 关于Cookie跨域操作遇到的问题及解决方法
- 今天解决了两个关于.NET读取EXCEL文件的问题,记下来,很有用!
- .NET:关于byte数组在用StreamWriter文件写出后出现多余字符的解决方法及VS方案文件图标显示问题
- 关于跨域获取cookie问题的解决