Udostępnij za pośrednictwem


HttpResponse.Filter Właściwość

Definicja

Pobiera lub ustawia obiekt filtru opakowującego, który jest używany do modyfikowania treści jednostki HTTP przed przesłaniem.

public:
 property System::IO::Stream ^ Filter { System::IO::Stream ^ get(); void set(System::IO::Stream ^ value); };
public System.IO.Stream Filter { get; set; }
member this.Filter : System.IO.Stream with get, set
Public Property Filter As Stream

Wartość właściwości

Stream Obiekt, który działa jako filtr wyjściowy.

Wyjątki

Filtrowanie jest niedozwolone dla jednostki.

Przykłady

Poniższy przykład to strona ASP.NET, która ustawia Filter właściwość na nowe wystąpienie UpperCaseFilter klasy , klasę niestandardową Stream , która konwertuje cały tekst, który przechodzi przez nią na wielkie litery. Informacje o żądaniu są zapisywane w pliku tekstowym, a następnie Filter ustawiana jest właściwość . Po wprowadzeniu filtru odpowiedzi kod wywołuje MapPath metodę , aby uzyskać ścieżkę bezwzględną do pliku tekstowego o nazwie TestFile.txt , który służy jako źródło zawartości odpowiedzi. Następnie kod tworzy nowy StreamReader obiekt odczytu pliku tekstowego od początku do końca, a następnie wywołuje Write metodę w celu wyświetlenia zawartości pliku na stronie.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ import Namespace="Samples.AspNet.CS.Controls"  %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>HttpResponse.MapPath Example</title>
  </head>
  <body>
    <form id="form1" runat="server">

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

    </form>
  </body>
</html>
<%@ Page Language="VB" Debug="true"%>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="Samples.AspNet.VB.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>HttpResponse.MapPath Example</title>
  </head>
  <body>
    <form id="Form1" runat="server">

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

    </form>
  </body>
</html>

Uwagi

Podczas tworzenia Stream obiektu i ustawiania Filter właściwości na Stream obiekt wszystkie dane wyjściowe HTTP wysyłane przez Write przejdą przez filtr.

Dotyczy