У меня возникла проблема с использованием Winnovatives PDFConverter на страницах, которые защищены безопасностью экстрасети (которая основана на членстве в ASP.Net).
Я пробовал несколько разных подходов, но следующее я могуприступить к работе на моем локальном компьютере, но не где-либо еще.
Код для страницы входа в систему, этот код должен обойти процесс входа в систему для:
// check that the current "user" isn't logged in and is the Winnovative UserAgent
if (!Sitecore.Context.IsLoggedIn && Request.UserAgent.Contains(".NET CLR"))
{
//Login with a dummy user I've created
Sitecore.Security.Authentication.AuthenticationManager.Login("extranet\\pdf", "pdf", true);
//redirect to former page
}
Страница, которая генерирует PDF, использует этоcode: private void PDFPrint (string url) {
PdfConverter pdfConverter = new PdfConverter();
pdfConverter.LicenseKey = "our license";
url = Request.Url.Scheme + "://" + Request.Url.Host + url;
byte[] downloadBytes = pdfConverter.GetPdfFromUrlBytes(url);
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.AddHeader("Content-Type", "binary/octet-stream");
response.AddHeader("Content-Disposition", "attachment; filename=" + Sitecore.Context.Item.Name + ".pdf" + "; size=" + downloadBytes.Length.ToString());
response.Flush();
response.BinaryWrite(downloadBytes);
response.Flush();
response.End();
}
Исключением, которое я получаю, является следующее:
"Не удалось получить метафайл из URL. Не удалось получить изображение из URL.URL недоступен .. "
Я также попробовал этот трюк из FAQ по Winnovative безрезультатно: http://www.winnovative -software.com / FAQ.aspx # аутентификация Q
Я также пытался использовать WebClient или HttpWebRequest для извлечения контента.
Но кажется, что ничего, что я делаю, не работает, кроме как локально.
По сути, я хочу создать способлибо получить конвертер Winnovatives виспользуйте текущего вошедшего в систему пользователя, моего пользовательского пользователя "pdf" или другого способа получить html из ответа.
Я надеюсь, что этот вопрос не слишком расплывчат, но мне сложно его задать.Но в основном я хочу получить html-контент со страницы в контролируемом мной решении Sitecore, которое защищено обычной защитой экстрасети Sitecore.Это HTML-содержимое должно иметь формат строки или байта [].
Помогите мне, Stackoverflowers, вы моя единственная надежда!: P