C#实现webapi的编写,以及由后台解决跨域问题--笔记

1、创建一个webapi的项目,此处演示的项目框架版本是4.6.1,如图:
C#实现webapi的编写,以及由后台解决跨域问题--笔记_第1张图片
2、首先咱们重新创建一个controller,去实现简单的登录功能(api):
C#实现webapi的编写,以及由后台解决跨域问题--笔记_第2张图片
代码如下:

namespace web.api.Controllers
{
    //重新定义路由地址
    [RoutePrefix("user")]
    public class UserInfoController : ApiController
    {
        [HttpGet]
        //子路由地址
        [Route("loginin")]
        public string checkLogin(string username, string pwd)
        {
            return userinfoServices.checkUserInfo(username, pwd);
        }
    }
}

然后把api启动起来,写一个页面去调用这个接口,调用结果如图:
C#实现webapi的编写,以及由后台解决跨域问题--笔记_第3张图片
结果很显然,在postman上面是调用成功了。但是在别的页面去调用的时候却报错了,如下图:
api地址为:http://localhost:59621/user/loginin
测试页面的地址为:http://localhost:56710/xxxxxx
C#实现webapi的编写,以及由后台解决跨域问题--笔记_第4张图片
这说明在相同的域名下,去调用api是不存在跨域问题的。反之就会出现这样的问题,那么该怎么处理呢?上网查了有几种处理办法,但是这次我就说下微软给咱提供的包“Microsoft.AspNet.WebApi.Cors”的用法。

3、先进行在线包下载安装:“右键引用 =》点击管理NuGet程序包,然后点击浏览,输入Microsoft.AspNet.WebApi.Cors”,如图:
C#实现webapi的编写,以及由后台解决跨域问题--笔记_第5张图片
C#实现webapi的编写,以及由后台解决跨域问题--笔记_第6张图片
4、接下来在web.config文件中添加配置文件:
C#实现webapi的编写,以及由后台解决跨域问题--笔记_第7张图片
5、最后咱在App_Start文件夹里面找到WebApiConfig.cs文件,添加几行代码即可,如图:
C#实现webapi的编写,以及由后台解决跨域问题--笔记_第8张图片
此时,再去别的页面调用该api,成功了!如图:
C#实现webapi的编写,以及由后台解决跨域问题--笔记_第9张图片
今天的笔记就先做到这里,有哪些地方写的不好,欢迎大家指正!

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。

你可能感兴趣的:(C#,.NET)