Freigeben über


HttpResponse.Filter-Eigenschaft

Ruft ein Wrappingfilterobjekt ab, das den Rumpf einer HTTP-Entität vor der Übertragung ändern soll, oder legt dieses fest.

Namespace: System.Web
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Property Filter As Stream
'Usage
Dim instance As HttpResponse
Dim value As Stream

value = instance.Filter

instance.Filter = value
public Stream Filter { get; set; }
public:
property Stream^ Filter {
    Stream^ get ();
    void set (Stream^ value);
}
/** @property */
public Stream get_Filter ()

/** @property */
public void set_Filter (Stream value)
public function get Filter () : Stream

public function set Filter (value : Stream)

Eigenschaftenwert

Das Stream-Objekt, das als Ausgabefilter verwendet wird.

Ausnahmen

Ausnahmetyp Bedingung

HttpException

Filtern ist bei der Entität nicht zulässig.

Hinweise

Wenn Sie ein Stream-Objekt erstellen und die Filter-Eigenschaft auf das Stream-Objekt festlegen, werden alle von Write gesendeten HTTP-Ausgaben durch den Filter geleitet.

Beispiel

Das folgende Codebeispiel ist eine ASP.NET-Seite, die die Filter-Eigenschaft auf eine neue Instanz der UpperCaseFilter-Klasse festlegt, einer benutzerdefinierten Stream-Klasse, die den gesamten von ihr durchlaufenen Text in Großbuchstaben konvertiert. Die Informationen für die Anforderung werden in einer Textdatei gespeichert, und anschließend wird die Filter-Eigenschaft festgelegt. Nach dem Einrichten des Antwortfilters wird im Code die MapPath-Methode aufgerufen, um den absoluten Pfad für eine Textdatei mit Namen TestFile.txt abzurufen, die als Quelle für den Inhalt der Antwort fungiert. Danach wird vom Code ein neues StreamReader-Objekt erstellt, mit dem die Textdatei von Anfang bis Ende gelesen wird, und die Write-Methode wird aufgerufen, um den Inhalt der Datei auf der Seite anzuzeigen.

<%@ Page Language="VB" Debug="true"%>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="Samples.AspNet.VB.Controls" %>
<script runat="server">
     
  Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
      
    ' Filter the text to be rendered as all uppercase.
    Response.Filter = New UpperCaseFilterStream(Response.Filter)
    
    ' Convert a virtual path to a fully qualified physical path.
    Dim fullpath As String = Request.MapPath("~\\TestFile.txt")
    
    Try
      
      Dim sr As StreamReader = New StreamReader(fullpath)
      
      Do While sr.Peek() >= 0
        Response.Write(Convert.ToChar(sr.Read()))
      Loop
      sr.Close()
      Message.Text = "Reading the file was successful."
      
    Catch ex As Exception
      
      Message.Text = "The process failed."

    End Try

    
  End Sub

</script>
<html>
  <head>
    <title>HttpResponse.MapPath Example</title>
  </head>
  <body>
    <form id="Form1" runat="server">

      <asp:Label id="Message" 
                 runat="server"/>

    </form>
  </body>
</html>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ import Namespace="Samples.AspNet.CS.Controls"  %>
<script runat="server">

    private void Page_Load(object sender, EventArgs e)
    {

      // Filter the text to be rendered as all uppercase.
      Response.Filter = new UpperCaseFilterStream(Response.Filter);

      // Convert a virtual path to a fully qualified physical path.
      string fullpath = Request.MapPath("~\\TestFile.txt");

      try
      {
        // Read the contents of the file using a StreamReader.
        using (StreamReader sr = new StreamReader(fullpath))
        while (sr.Peek() >= 0)
        {
          Response.Write((char)sr.Read());
        }
        Message.Text = "Reading the file was successful.";
        
      }
      catch (Exception ex)
      {
        Message.Text = "The process failed.";
      }    
     }

</script>
<html>
  <head>
    <title>HttpResponse.MapPath Example</title>
  </head>
  <body>
    <form runat="server">

      <asp:Label id="Message" 
                 runat="server"/>

    </form>
  </body>
</html>
<%@ Page Language="VJ#" %>
<%@ import Namespace="Samples.AspNet" %>
<script runat="server">

    private void Page_Load(Object sender, EventArgs e)
    {
       
       // Filter the text to be rendered as all uppercase.
       get_Response().set_Filter(new UpperCaseFilterStream(get_Response().
           get_Filter()));
    
    } //Page_Load

</script>
<html>
<head>
</head>
<body>
    <% get_Response().Write("This text will be rendered all uppercase." ); %>
</body>
</html>

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

HttpResponse-Klasse
HttpResponse-Member
System.Web-Namespace