Probleme mit Response.TransmitFile, Response.End und IE

Ich entwickle eine ASP.NET-App, die an einem bestimmten Punkt mithilfe von Response.TransmitFile eine Datei an den Benutzer sendet.

Auf meinem Entwicklungscomputer funktioniert es einwandfrei, und wenn ich es auf den Testservern bereitstelle, funktioniert es immer noch auf zwei von ihnen. In einem der Server (W2K3) funktioniert es jedoch nur in Firefox. Wenn ich es in IE7 versuche, erhalte ich die Fehlermeldung "Internet Explorer kann die Datei sendfile.aspx nicht öffnen (Servername)".

Ich habe eine kleine Inline-Aspx-Seite erstellt, um das Problem zu wiederholen. Hier ist es:

<%@ Page Language="C#" %>
<html><head>
<script language="CS" runat="server">
    void Page_Load(object sender, System.EventArgs e) 
    {
        string filePath = @"C:\temp\export.zip";
        Response.ClearHeaders();
        Response.ContentType = "application/zip";
        Response.Clear();
        Response.AppendHeader("Content-disposition", "attachment; filename=export.zip");
        Response.TransmitFile(filePath);
        Response.End();
    }
</script>
</head></html>

Ich habe verschiedene Dinge ausprobiert und festgestellt, dass es wieder funktioniert, wenn ich das auskommentiereResponse.End line (aber AFAIK diese Zeile sollte vorhanden sein, zumindest gemäß jedem Beispielcode, den ich im Internet finde)

Ein anderes Problem, das mir aufgefallen ist und möglicherweise nicht damit zusammenhängt, ist, dass es auch fehlschlägt, wenn ich das entferne<html>, <head> und seine schließenden Tags.

Ich kratzte mich schon eine Weile am Kopf, hat jemand eine Ahnung, wie man das zum Laufen bringt?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage