HttpListenerRequest.InputStream 属性

定义

获取包含由客户端发送的正文数据的流。

public:
 property System::IO::Stream ^ InputStream { System::IO::Stream ^ get(); };
public System.IO.Stream InputStream { get; }
member this.InputStream : System.IO.Stream
Public ReadOnly Property InputStream As Stream

属性值

一个可读的 Stream 对象,该对象包含客户端在请求正文中发送的字节。 如果没有随请求发送任何数据,则此属性返回 Null

示例

下面的代码示例演示如何使用此属性读取随请求发送的数据。

public static void ShowRequestData (HttpListenerRequest request)
{
    if (!request.HasEntityBody)
    {
        Console.WriteLine("No client data was sent with the request.");
        return;
    }
    System.IO.Stream body = request.InputStream;
    System.Text.Encoding encoding = request.ContentEncoding;
    System.IO.StreamReader reader = new System.IO.StreamReader(body, encoding);
    if (request.ContentType != null)
    {
        Console.WriteLine("Client data content type {0}", request.ContentType);
    }
    Console.WriteLine("Client data content length {0}", request.ContentLength64);

    Console.WriteLine("Start of client data:");
    // Convert the data to a string and display it on the console.
    string s = reader.ReadToEnd();
    Console.WriteLine(s);
    Console.WriteLine("End of client data:");
    body.Close();
    reader.Close();
    // If you are finished with the request, it should be closed also.
}
Public Shared Sub ShowRequestData(ByVal request As HttpListenerRequest)
    If Not request.HasEntityBody Then
        Console.WriteLine("No client data was sent with the request.")
        Return
    End If

    Dim body As System.IO.Stream = request.InputStream
    Dim encoding As System.Text.Encoding = request.ContentEncoding
    Dim reader As System.IO.StreamReader = New System.IO.StreamReader(body, encoding)

    If request.ContentType IsNot Nothing Then
        Console.WriteLine("Client data content type {0}", request.ContentType)
    End If

    Console.WriteLine("Client data content length {0}", request.ContentLength64)
    Console.WriteLine("Start of client data:")
    ' Convert the data to a string and display it on the console.
    Dim s As String = reader.ReadToEnd()
    Console.WriteLine(s)
    Console.WriteLine("End of client data:")
    body.Close()
    reader.Close()
    ' If you are finished with the request, it should be closed also.
End Sub

注解

例如,如果客户端使用 HTTP POST 方法) (传输数据,则此方法返回的流将包含该数据。

注意

关闭请求不会关闭此属性返回的流。 不再需要流时,应通过调用 Close 方法将其关闭。

调用方说明

当你在应用程序中启用网络跟踪后,此成员将输出跟踪信息。 有关详细信息,请参阅.NET Framework中的网络跟踪

适用于

另请参阅