HttpResponse.Filter HttpResponse.Filter HttpResponse.Filter HttpResponse.Filter Property

定義

伝送する前に HTTP エンティティ本体を変更するために使用される、ラッピング フィルター オブジェクトを取得または設定します。Gets or sets a wrapping filter object that is used to modify the HTTP entity body before transmission.

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

プロパティ値

出力フィルターとして機能する StreamThe Stream object that acts as the output filter.

例外

このエンティティではフィルター処理を実行できません。Filtering is not allowed with the entity.

次の例は、ASP.NET ページを設定する、Filterプロパティの新しいインスタンスをUpperCaseFilterクラス、カスタムStreamを大文字に通過するすべてのテキストに変換するクラス。The following example is an ASP.NET page that sets the Filter property to a new instance of the UpperCaseFilter class, a custom Stream class that converts all text that passes through it to uppercase. 要求に関する情報は、テキスト ファイルに保存し、Filterプロパティを設定します。The information about the request is saved to a text file, and then the Filter property is set. コードを呼び出して応答フィルターを配置した後、MapPathという名前のテキスト ファイルへの絶対パスを取得するメソッドをTestFile.txt応答のコンテンツのソースとして機能します。After the response filter is in place, the code calls the MapPath method to get the absolute path to a text file named TestFile.txt that serves as the source for the content of the response. コードは、新しい作成StreamReaderを終了するには、最初に呼び出しからテキスト ファイルを読み取るオブジェクト、Writeページ上のファイルの内容を表示するメソッド。The code then creates a new StreamReader object to read the text file from beginning to end, and then calls the Write method to display the content of the file on the page.

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

注釈

作成するときに、Streamオブジェクトし、設定、FilterプロパティをStreamオブジェクトであるすべての HTTP によって送信される出力Writeフィルターを通過します。When you create a Stream object and set the Filter property to the Stream object, all HTTP output sent by Write passes through the filter.

適用対象