Я не могу отправить запрос, чтобы сообщить серверу, используя HttpClient как результат всегда 401 (Несанкционированное).Использование HttpClient внутри ASP.NET MVC действий для вызова SSRS
Действие
public async Task<FileStreamResult> SSRSTest()
{
//set credentials
using (var handler = new HttpClientHandler {
Credentials = new NetworkCredential("userName", "password"),
UseDefaultCredentials = false
})
using (var httpClient = new HttpClient(handler))
{
//get *.pdf from report server
var response = await httpClient .GetStreamAsync("http://someip/ReportServer/Pages/ReportViewer.aspx?TheRemainingPartOfURL");
var contentDisposition = new ContentDisposition
{
FileName = "SomeReport.pdf",
Inline = false
};
//set content disposition
Response.AppendHeader("Content-Disposition", contentDisposition.ToString());
//return the file
return File(response, "application/pdf");
}
}
Дополнительно:
Pass a Report Parameter Within a URL
Export a Report Using URL Access
Generate Data Feeds from a Report
У пользователя есть доступ к услугам в отчетности? – scheien
@scheien Да, когда я вставляю URL-адрес в адресную строку браузера, или если я использую ссылку как href, она работает. –
Не должно быть доменное имя в качестве третьего параметра вашего конструктора NetworkCredential? – jbl