您的位置:首页 > 理论基础 > 计算机网络

.NetCore HttpContext常用参数和跨域(随手笔记)

2020-07-27 15:43 387 查看

一 使用授权过滤器常用参数:

1.HttpContext.Response.Cookies//(向客户端缓存值[Key:Value])
2.HttpContext.Request.Query//(客户端传送过来的[Key:Value]数据)可以通过下标获取key和value
3.HttpContext.Request.QueryString//(客户端传送过来的[Key:Value]数据)可以通过下标获取key和value
4.HttpContext.Response.Redirect() //页面跳转

二 使用异常过滤器常用参数:

1.HttpContext.RouteData.Values[“controller”] //获取访问的控制器
2.HttpContext.RouteData.Values[“controller”] //获取访问的方法
3.HttpContext.Exception.Message //获取异常信息

三 .NetCore配置跨域处理,允许所有来源:

1.//在StartUp类的ConfigureServices方法中添加如下代码:
services.AddCors(item=>
item.AddPolicy(“自定义的跨域策略名称”,
item =>item.AllowAnyOrigin())
);
2.//允许一个或多个具体来源:
services.AddCors(options =>
{
// Policy名称 CorsPolicy 是自订的,可以自己改
options.AddPolicy(“跨域规则的名称”, item=>
{
// 設定允許跨域的來源,有多個的話可以用,隔開
item.WithOrigins(“http://localhost:1000”,“http://127.0.0.1”)
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});

四 Configure方法中添加以下代码,以上跨域问题取其中一个

item.UseCors(“自定义的跨域策略名称”);//必须位于UserMvc之前
item.UseMvc();

五 指定某个controller或者action跨域

局部跨域第一种用法:
1.ConfigureServices方法不变,删去Configure中的item.UseCors()方法
2.在Controller顶部或者Action方法顶部加上[EnableCors(“自定义的跨域策略名称”)]特性,例如
[EnableCors(“自定义的跨域策略名称”)]
[Route(“api/[controller]”)]
public class ContactController : Controller
{
}

六 禁止跨域:

禁止跨域在Controller或者Action加上[DisableCors]特性即可禁止跨域
[HttpGet("{id}")]
[DisableCors]
public string Get(int id)
{
  return “value”;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: