У меня есть приложение oob с веб-браузером.Silverlight OOB WebBrowser Exception
Источник веб-браузера представляет собой привязку данных с определенным URI. URI имеет путь к веб-странице с моего сервера, который отображает PDF-файл из своего жесткого диска.
Обратите внимание, что все это делается в локальной сети.
Пример URI: uri = новый Uri (@ "http: //ServerName/ProjectName/PDFViewer.aspx? Pdf = somePDF.pdf");
Page фонового кода:
protected void Page_Load(object sender, EventArgs e)
{
string myURL = Request.Url.ToString();
string[] ParamArray = Regex.Split(myURL, "pdf=");
string Params = ParamArray[ParamArray.Length - 1];
if (Params.Length > 0)
{
Filename = Regex.Replace(Params, @"//", @"\\"); ;
if (File.Exists(Filename))
{
Response.ContentType = "Application/pdf";
Response.WriteFile(Filename); //Write the file directly to the HTTP content output stream.
Response.End();
}
else
this.Title = "PDF Not Found";
}
}
protected void Page_Load(object sender, EventArgs e) { string myURL = Request.Url.ToString(); string[] ParamArray = Regex.Split(myURL, "pdf="); //If the URL has parameters, then get them. If not, return a blank string string Params = ParamArray[ParamArray.Length - 1]; if (Params.Length > 0) { //to the called (src) web page Filename = Regex.Replace(Params, @"//", @"\\"); ; if (File.Exists(Filename)) { Response.ContentType = "Application/pdf"; Response.WriteFile(Filename); //Write the file directly to the HTTP content output stream. Response.End(); } else this.Title = "PDF Not Found"; } }
Первый раз, когда я исходный WebBrowser всего это отображает PDF. Но когда я устанавливаю URI один раз, приложение бросает исключение: пытается отменить цель возврата, которая еще не была зарегистрирована (исключение из HRESULT: 0x80040100).
Я сделал несколько тестов, и вот результаты:
1º новый Uri (@ "HTTP: //ServerName/ProjectName/PDFViewer.aspx PDF = somePDF.pdf");
2º новый Uri (@ "http: //ServerName/ProjectName/PDFViewer.aspx? Pdf = someOtherPDF.pdf"); -> ошибка
1º новый Uri (@ "? HTTP: //ServerName/ProjectName/PDFViewer.aspx PDF = somePDF.pdf");
2º новый Uri (@ "http://www.google.com"); -> погрешность
1º новый Uri (@ "http://www.google.com");
2º новый Uri (@ "http://www.microsoft.com");
2º новый Uri (@ "http: //ServerName/ProjectName/PDFViewer.aspx? Pdf = somePDF.pdf");
3º новый Uri (@ "http: //ServerName/ProjectName/PDFViewer.aspx? Pdf = someOtherPDF.pdf"); -> ошибка
я забыл сказать, что при запуске приложения из браузера (используя HTMLHost) страницы отображаются нормально. Открытие страниц с помощью браузера также будет работать хорошо.
Это, должно быть, проблема с моей страницей aspx. Есть идеи?
Педро
Такая же ошибка, в браузере SL5. Работает нормально с SL локально. На реальном веб-сервере эта ошибка возникает каждый раз, когда я пытаюсь повторно перемещаться по веб-браузеру. – felickz