我有以下代码:
var url = Url.Action("JobDetailsPDF", "PdfController", new { orderid = model.OrderId }, Request.Url.Scheme);
var request = new HttpRequestMessage(HttpMethod.Get, url);
request.Headers.TryAddWithoutValidation("Cookie", Request.Headers["Cookie"]);
var client = new HttpClient();
var response = await client.SendAsync(request);
var result = await response.Content.ReadAsByteArrayAsync();
即使将auth cookie添加到请求中,Authorize属性似乎也会将请求重定向到登录屏幕。
为什么我无法将Cookie发送到同一网站内的其他操作,如果我能够,为什么在添加Cookie时,authorize属性会重定向请求?
由于
答案 0 :(得分:2)
从后端应用程序向同一个后端应用程序发出HTTP请求通常是个坏主意。
您可以将逻辑从PdfController下的JobDetailsPDF操作移动到可以从两个位置使用的一些公共类:JobDetailsPDF和您当前的代码位置。