.NETCore 调用接口遇到的奇怪问题

本人QQ-554433626 2019-08-27 05:58:12
接口如下:

public async Task<Response> ConnectionValidation1(Request request, IFormCollection files)


调用如下:

byte[] responseBytes = webClient.UploadData(接口地址, "POST", bytes);


一个文件上传接口,用多线程调用,偶尔出现返回登录页面的html。


登录验证cookie如下

services.AddAuthentication(b =>
{
b.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
b.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
b.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
}).AddCookie(b =>
{
//取消认证票据Cookie的SameSite属性
b.Cookie.SameSite = SameSiteMode.None;
//登陆地址
b.LoginPath = "/Account/Login";
//sid
b.Cookie.Name = "My_SessionId";
// b.Cookie.Domain = "shenniu.core.com";
b.Cookie.Path = "/";
b.Cookie.HttpOnly = true;
b.Cookie.Expiration = new TimeSpan(0, 60, 30);
b.ExpireTimeSpan = new TimeSpan(0, 60, 30);
});

接口控制器没有添加[Authorize]属性,继承的是Controller。怎么会出现多线程调用接口偶尔返回登录页面?
...全文
329 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 版主 2019-08-28
  • 打赏
  • 举报
回复
感觉是变量串了。
本人QQ-554433626 2019-08-28
  • 打赏
  • 举报
回复
引用 8 楼 秋的红果实 的回复:
[quote=引用 7 楼 本人QQ-554433626 的回复:] [quote=引用 3 楼 秋的红果实 的回复:] 添加[AllowAnonymous]特性 你说的偶尔,可能是已经登陆,但浏览器没有关闭过,下次运行,当前上下文是 已登陆 状态 或者是登陆时记住我了
调用接口和浏览器没关联吧[/quote]浏览器,这个我只是猜想 添加[AllowAnonymous]特性还不行,估计是某种情况下,代码直接跳转到了登陆页面[/quote] 请求禁止重定向后返回空
秋的红果实 2019-08-28
  • 打赏
  • 举报
回复
引用 7 楼 本人QQ-554433626 的回复:
[quote=引用 3 楼 秋的红果实 的回复:] 添加[AllowAnonymous]特性 你说的偶尔,可能是已经登陆,但浏览器没有关闭过,下次运行,当前上下文是 已登陆 状态 或者是登陆时记住我了
调用接口和浏览器没关联吧[/quote]浏览器,这个我只是猜想 添加[AllowAnonymous]特性还不行,估计是某种情况下,代码直接跳转到了登陆页面
本人QQ-554433626 2019-08-28
  • 打赏
  • 举报
回复
引用 3 楼 秋的红果实 的回复:
添加[AllowAnonymous]特性 你说的偶尔,可能是已经登陆,但浏览器没有关闭过,下次运行,当前上下文是 已登陆 状态 或者是登陆时记住我了
调用接口和浏览器没关联吧
本人QQ-554433626 2019-08-28
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
感觉是变量串了。
个人感觉是接口问题,部署在docker上的
本人QQ-554433626 2019-08-28
  • 打赏
  • 举报
回复
引用 1 楼 冰川711 的回复:
既然没有加Authorize特性 就不存在登陆验证的问题, 你说多线程调用 返回登陆页面,试过单线程调用? 就不返回登陆页面么? 应该还是你程序的问题
如图,我在出现返回登录页记录了URL日志。记录的requestUrl(请求地址)都是接口地址,并没有出现其他URL情况,足矣说明程序是没问题的,就是不知为何接口会返回登录页。:
秋的红果实 2019-08-28
  • 打赏
  • 举报
回复
还有个建议,验证、授权,可以参考微软官方文档的方式,个人觉得不错
秋的红果实 2019-08-28
  • 打赏
  • 举报
回复
添加[AllowAnonymous]特性 你说的偶尔,可能是已经登陆,但浏览器没有关闭过,下次运行,当前上下文是 已登陆 状态 或者是登陆时记住我了
冰川711 2019-08-27
  • 打赏
  • 举报
回复
既然没有加Authorize特性 就不存在登陆验证的问题, 你说多线程调用 返回登陆页面,试过单线程调用? 就不返回登陆页面么? 应该还是你程序的问题

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧