HttpResponse.Filter Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İ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.