HttpResponse.Filter Özellik

Tanım

İletim öncesinde HTTP varlık gövdesini değiştirmek için kullanılan bir sarmalama filtresi nesnesini alır veya ayarlar.

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

Özellik Değeri

Stream

Stream Çıkış filtresi işlevi gören nesne.

Özel durumlar

Varlıkta filtrelemeye izin verilmez.

Örnekler

Aşağıdaki örnek, özelliğini sınıfın Filter yeni bir örneğine UpperCaseFilter ayarlayan bir ASP.NET sayfasıdır ve bu sayfadan geçen tüm metni büyük harfe dönüştüren özel Stream bir sınıftır. İstekle ilgili bilgiler bir metin dosyasına kaydedilir ve özellik Filter ayarlanır. Yanıt filtresi uygulandıktan sonra kod, yanıtın MapPath içeriği için kaynak olarak hizmet veren adlı TestFile.txt bir metin dosyasının mutlak yolunu almak için yöntemini çağırır. Kod daha sonra metin dosyasını baştan sona okumak için yeni StreamReader bir nesne oluşturur ve ardından dosyanın içeriğini sayfada görüntülemek için yöntemini çağırır Write .

<%@ 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>

Açıklamalar

Bir Stream nesne oluşturduğunuzda ve özelliğini nesne olarak ayarladığınızda Filter Stream , tarafından Write gönderilen tüm HTTP çıktısı filtreden geçer.

Şunlara uygulanır