Aracılığıyla paylaş


HttpResponse.Filter Özellik

Tanım

İletimden önce 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 Çıkış filtresi işlevi gören nesne.

Özel durumlar

Varlıkla 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. Bu sayfa, bu sayfadan geçen tüm metinleri büyük harfe dönüştüren özel Stream bir sınıftır. İstekle ilgili bilgiler bir metin dosyasına kaydedilir ve ardından Filter özelliği ayarlanır. Yanıt filtresi uygulandıktan sonra kod, yanıtın içeriği için kaynak görevi görecek adlı TestFile.txt bir metin dosyasının mutlak yolunu almak için yöntemini çağırırMapPath. 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 FilterStream , tarafından Write gönderilen tüm HTTP çıktısı filtreden geçer.

Şunlara uygulanır