Странная проблема сегодня. Мне удалось исправить другие мои проблемы. Моя страница ASP не содержит элементов управления (поэтому нет пустых URL-адресов изображений, которые могли бы вызвать проблему). Сама программа из кода VB получает двоичные данные из базы данных и выполняет Response.BinaryWrite (imagedata) на странице. Когда я запускаю его в Chrome или Firefox, все работает отлично. Когда я запускаю IE, после того, как мой код завершает выполнение, он снова запускает Page_Init и Page_Load снова, как если бы загружался в первый раз и все сначала. Значение обратной передачи всегда ложно, поэтому нет никакого способа обойти это. Вот код asp (как видите, ничего интересного) ...
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="pagenamehere.aspx.vb" Inherits="x.x.x.x.y" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Test</title>
</head>
<body>
</body>
</html>
И подписи Page_Init и Page_Load следующие
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
'checks database connection string and handles error if there is one
End Sub
Private Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
'checks user is authenticated to view the image and if so, does the binarywrite
End Sub
Я попытался изменить autoeventwriteup на true и снять ручки Me.Load и т.д., но безрезультатно. Я также пробовал проверить объект Sender, но ничего не изменилось между первой загрузкой страницы и нежелательной второй загрузкой страницы.
Наконец, страница загружается второй раз сразу после следующего кода
Response.Clear()
Response.ClearContent()
Response.ClearHeaders()
Response.Buffer = True
Response.ContentType = "image/vnd.djvu"
Response.AddHeader("Content-Disposition", "inline;filename=temp.djvu")
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.BinaryWrite(imagedata)
Response.Flush()
Response.Close()
Сразу после Response.Close он вернется к Page_Init. Я пробовал response.end, но это не имеет значения. Я попытался удалить заголовок, информацию о кеше и т. Д., Но безуспешно. Пожалуйста помоги!
Спасибо
Request.HttpMethod
в обоих случаях - person jbl   schedule 09.12.2013