﻿<?xml version="1.0" encoding="utf-8"?><Type Name="HttpListenerRequest" FullName="System.Net.HttpListenerRequest"><TypeSignature Language="C#" Value="public sealed class HttpListenerRequest" /><TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit HttpListenerRequest extends System.Object" /><AssemblyInfo><AssemblyName>System</AssemblyName><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces /><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>When a client makes a request to a Uniform Resource Identifier (URI) handled by an <see cref="T:System.Net.HttpListener" /> object, the <see cref="T:System.Net.HttpListener" /> provides a <see cref="T:System.Net.HttpListenerContext" /> object that contains information about the sender, the request, and the response that is sent to the client. The <see cref="P:System.Net.HttpListenerContext.Request" /> property returns the <see cref="T:System.Net.HttpListenerRequest" /> object that describes the request. </para><para>The <see cref="T:System.Net.HttpListenerRequest" /> object contains information about the request, such as the request <see cref="P:System.Net.HttpListenerRequest.HttpMethod" /> string, <see cref="P:System.Net.HttpListenerRequest.UserAgent" /> string, and request body data (see the <see cref="P:System.Net.HttpListenerRequest.InputStream" /> property).</para><para>To reply to the request, you must get the associated response using the <see cref="P:System.Net.HttpListenerContext.Response" /> property.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Describes an incoming HTTP request to an <see cref="T:System.Net.HttpListener" /> object. This class cannot be inherited.</para></summary></Docs><Members><Member MemberName="AcceptTypes"><MemberSignature Language="C#" Value="public string[] AcceptTypes { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string[] AcceptTypes" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String[]</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The Accept header is a string of space-separated Multipurpose Internet Mail Extensions (MIME) type names (for example, image/jpeg), which indicate the MIME types that the client is prepared to accept and process in a response. The */* entry indicates that the client accepts any MIME type. For a detailed description of the Accept header, see RFC 2616, available at <see cref="http://www.rfc-editor.org/">http://www.rfc-editor.org</see>.</para><para>For a complete list of request headers, see the <see cref="T:System.Net.HttpRequestHeader" /> enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the MIME types accepted by the client. </para></summary></Docs></Member><Member MemberName="BeginGetClientCertificate"><MemberSignature Language="C#" Value="public IAsyncResult BeginGetClientCertificate (AsyncCallback requestCallback, object state);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.IAsyncResult BeginGetClientCertificate(class System.AsyncCallback requestCallback, object state) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.IAsyncResult</ReturnType></ReturnValue><Parameters><Parameter Name="requestCallback" Type="System.AsyncCallback" /><Parameter Name="state" Type="System.Object" /></Parameters><Docs><remarks>To be added.</remarks><since version=".NET 2.0" /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Begins an asynchronous request for the client's X.509 v.3 certificate.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An <see cref="T:System.IAsyncResult" /> that indicates the status of the operation.</para></returns><param name="requestCallback"><attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.AsyncCallback" /> delegate that references the method to invoke when the operation is complete.</param><param name="state"><attribution license="cc4" from="Microsoft" modified="false" />A user-defined object that contains information about the operation. This object is passed to the callback delegate when the operation completes.</param></Docs></Member><Member MemberName="ClientCertificateError"><MemberSignature Language="C#" Value="public int ClientCertificateError { get; }" /><MemberSignature Language="ILAsm" Value=".property instance int32 ClientCertificateError" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This property contains a Windows error code returned by the Secure Channel (Schannel) Security Support Provider Interface (SSPI), which is used to validate the certificate. For more information about SSPI support for Schannel, see "Creating a Secure Connection Using Schannel" in the Security documentation at <see cref="http://msdn.microsoft.com/library">http://msdn.microsoft.com/library</see>. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets an error code that identifies a problem with the <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate" /> provided by the client.</para></summary></Docs></Member><Member MemberName="ContentEncoding"><MemberSignature Language="C#" Value="public System.Text.Encoding ContentEncoding { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Text.Encoding ContentEncoding" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Text.Encoding</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>An <see cref="T:System.Text.Encoding" /> object can be used to convert byte sequences into character sets (code pages) and characters into byte sequences. This property uses the charset value from the Content-Type header to determine the encoding. If that information is not available, this property returns <see cref="P:System.Text.Encoding.Default" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the content encoding that can be used with data sent with the request</para></summary></Docs></Member><Member MemberName="ContentLength64"><MemberSignature Language="C#" Value="public long ContentLength64 { get; }" /><MemberSignature Language="ILAsm" Value=".property instance int64 ContentLength64" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int64</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The Content-Length header expresses the length, in bytes, of the body data that accompanies the request.</para><para>For a complete list of request headers, see the <see cref="T:System.Net.HttpRequestHeader" /> enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the length of the body data included in the request.</para></summary></Docs></Member><Member MemberName="ContentType"><MemberSignature Language="C#" Value="public string ContentType { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string ContentType" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If a client includes body data in a request, it declares the Multipurpose Internet Mail Extensions (MIME) type of the body data in the Content-Type header. For example, the default MIME type of data returned from a Web form using the POST method is application/x-www-form-urlencoded.</para><para>For a complete list of request headers, see the <see cref="T:System.Net.HttpRequestHeader" /> enumeration and RFC 2616, available at <see cref="http://www.rfc-editor.org/">http://www.rfc-editor.org</see>.</para><para>The <see cref="P:System.Net.HttpListenerRequest.ContentType" /> is null when there is no Content-Type header in the request.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the MIME type of the body data included in the request.</para></summary></Docs></Member><Member MemberName="Cookies"><MemberSignature Language="C#" Value="public System.Net.CookieCollection Cookies { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Net.CookieCollection Cookies" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Net.CookieCollection</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A cookie is name/value text data from a Web server that is stored on the local (client) computer.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the cookies sent with the request.</para></summary></Docs></Member><Member MemberName="EndGetClientCertificate"><MemberSignature Language="C#" Value="public System.Security.Cryptography.X509Certificates.X509Certificate2 EndGetClientCertificate (IAsyncResult asyncResult);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Security.Cryptography.X509Certificates.X509Certificate2 EndGetClientCertificate(class System.IAsyncResult asyncResult) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.Cryptography.X509Certificates.X509Certificate2</ReturnType></ReturnValue><Parameters><Parameter Name="asyncResult" Type="System.IAsyncResult" /></Parameters><Docs><remarks>To be added.</remarks><since version=".NET 2.0" /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Ends an asynchronous request for the client's X.509 v.3 certificate.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.IAsyncResult" /> object that is returned when the operation started.</para></returns><param name="asyncResult"><attribution license="cc4" from="Microsoft" modified="false" />The pending request for the certificate.</param></Docs></Member><Member MemberName="GetClientCertificate"><MemberSignature Language="C#" Value="public System.Security.Cryptography.X509Certificates.X509Certificate2 GetClientCertificate ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Security.Cryptography.X509Certificates.X509Certificate2 GetClientCertificate() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.Cryptography.X509Certificates.X509Certificate2</ReturnType></ReturnValue><Parameters /><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method blocks until the certificate is retrieved.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Retrieves the client's X.509 v.3 certificate.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A <see cref="N:System.Security.Cryptography.X509Certificates" /> object that contains the client's X.509 v.3 certificate.</para></returns></Docs></Member><Member MemberName="GetClientCertificateAsync"><MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;System.Security.Cryptography.X509Certificates.X509Certificate2&gt; GetClientCertificateAsync ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;class System.Security.Cryptography.X509Certificates.X509Certificate2&gt; GetClientCertificateAsync() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Threading.Tasks.Task&lt;System.Security.Cryptography.X509Certificates.X509Certificate2&gt;</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete when the certificate has been retrieved.</para><para>If a call to this method to retrieve the client's X.509 v.3 certificate is in progress, then another call to this method cannot be made.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Retrieves the client's X.509 v.3 certificate as an asynchronous operation.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para><para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="N:System.Security.Cryptography.X509Certificates" /> object that contains the client's X.509 v.3 certificate.</para></returns></Docs></Member><Member MemberName="HasEntityBody"><MemberSignature Language="C#" Value="public bool HasEntityBody { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool HasEntityBody" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A request that sends data to the server using the POST method, for example, should have an entity body.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a <see cref="T:System.Boolean" /> value that indicates whether the request has associated body data.</para></summary></Docs></Member><Member MemberName="Headers"><MemberSignature Language="C#" Value="public System.Collections.Specialized.NameValueCollection Headers { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Specialized.NameValueCollection Headers" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.Specialized.NameValueCollection</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Request headers contain metadata information. For example, headers can contain the Uniform Resource Identifier (URI) of the resource that referred the client to the server, the identity of the user agent employed by the client, and the acceptable MIME types for data in the response body.</para><para>For a complete list of request headers, see the <see cref="T:System.Net.HttpRequestHeader" /> enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the collection of header name/value pairs sent in the request.</para></summary></Docs></Member><Member MemberName="HttpMethod"><MemberSignature Language="C#" Value="public string HttpMethod { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string HttpMethod" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The HTTP method is typically GET or POST, depending on the action desired by the client.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the HTTP method specified by the client. </para></summary></Docs></Member><Member MemberName="InputStream"><MemberSignature Language="C#" Value="public System.IO.Stream InputStream { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.IO.Stream InputStream" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.IO.Stream</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the client transmits data (for example, using the HTTP POST method), the stream returned by this method contains that data. </para><block subset="none" type="note"><para>Closing the request does not close the stream returned by this property. When you no longer need the stream, you should close it by calling the <see cref="M:System.IO.Stream.Close" /> method.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a stream that contains the body data sent by the client.</para></summary></Docs></Member><Member MemberName="IsAuthenticated"><MemberSignature Language="C#" Value="public bool IsAuthenticated { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsAuthenticated" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.MonoTODO("Always returns false")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Your application requests client authentication using the <see cref="P:System.Net.HttpListener.AuthenticationSchemes" /> or <see cref="P:System.Net.HttpListener.AuthenticationSchemeSelectorDelegate" /> property. </para><para>Your application does not receive an <see cref="T:System.Net.HttpListenerContext" /> for requests from clients that are not successfully authenticated.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a <see cref="T:System.Boolean" /> value that indicates whether the client sending this request is authenticated.</para></summary></Docs></Member><Member MemberName="IsLocal"><MemberSignature Language="C#" Value="public bool IsLocal { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsLocal" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Applications can use this property to perform special processing when requests are from the local computer.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a <see cref="T:System.Boolean" /> value that indicates whether the request is sent from the local computer.</para></summary></Docs></Member><Member MemberName="IsSecureConnection"><MemberSignature Language="C#" Value="public bool IsSecureConnection { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsSecureConnection" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>To request a secure connection, the client request uses <see cref="F:System.Uri.UriSchemeHttps" /> instead of <see cref="F:System.Uri.UriSchemeHttp" />. If the connection cannot be established using SSL, the client receives a <see cref="T:System.Net.WebException" /> that provides information about the error.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a <see cref="T:System.Boolean" /> value that indicates whether the TCP connection used to send the request is using the Secure Sockets Layer (SSL) protocol.</para></summary></Docs></Member><Member MemberName="IsWebSocketRequest"><MemberSignature Language="C#" Value="public bool IsWebSocketRequest { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsWebSocketRequest" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.MonoTODO</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a <see cref="T:System.Boolean" /> value that indicates whether the TCP connection was  a WebSocket request.</para></summary></Docs></Member><Member MemberName="KeepAlive"><MemberSignature Language="C#" Value="public bool KeepAlive { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool KeepAlive" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If an HTTP client and server expect to exchange data multiple times in a short time period, a persistent connection speeds up their communications by allowing them to avoid the overhead required to open and close a TCP connection for each message. For clients using HTTP/1.1, the default value for this property is true.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a <see cref="T:System.Boolean" /> value that indicates whether the client requests a persistent connection.</para></summary></Docs></Member><Member MemberName="LocalEndPoint"><MemberSignature Language="C#" Value="public System.Net.IPEndPoint LocalEndPoint { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Net.IPEndPoint LocalEndPoint" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Net.IPEndPoint</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This property is useful when you want to respond to requests based on the way they are addressed.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Get the server IP address and port number to which the request is directed.</para></summary></Docs></Member><Member MemberName="ProtocolVersion"><MemberSignature Language="C#" Value="public Version ProtocolVersion { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Version ProtocolVersion" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Version</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The capabilities of different HTTP versions are specified in the documents available at <see cref="http://www.rfc-editor.org/">http://www.rfc-editor.org</see>.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the HTTP version used by the requesting client.</para></summary></Docs></Member><Member MemberName="QueryString"><MemberSignature Language="C#" Value="public System.Collections.Specialized.NameValueCollection QueryString { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Specialized.NameValueCollection QueryString" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.Specialized.NameValueCollection</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>In a URL, the query information is separated from the path information by a question mark (?). Name/value pairs are separated by an equals sign (=). To access the query data as a single string, get the <see cref="P:System.Uri.Query" /> property value from the <see cref="T:System.Uri" /> object returned by <see cref="P:System.Net.HttpListenerRequest.Url" />.</para><block subset="none" type="note"><para>Queries without an equal sign (example: <see cref="http://www.contoso.com/query.htm?Name">http://www.contoso.com/query.htm?Name</see> ) are added to the null key in the <see cref="T:System.Collections.Specialized.NameValueCollection" />.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the query string included in the request.</para></summary></Docs></Member><Member MemberName="RawUrl"><MemberSignature Language="C#" Value="public string RawUrl { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string RawUrl" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The raw URL is defined as the part of the URL following the domain information. In the URL string http://www.contoso.com/articles/recent.aspx, the raw URL is /articles/recent.aspx. The raw URL includes the query string, if present.</para><para>To obtain the host and port information, use the <see cref="P:System.Net.HttpListenerRequest.RemoteEndPoint" /> property.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the URL information (without the host and port) requested by the client.</para></summary></Docs></Member><Member MemberName="RemoteEndPoint"><MemberSignature Language="C#" Value="public System.Net.IPEndPoint RemoteEndPoint { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Net.IPEndPoint RemoteEndPoint" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Net.IPEndPoint</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><since version=".NET 2.0" /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the client IP address and port number from which the request originated.</para></summary></Docs></Member><Member MemberName="RequestTraceIdentifier"><MemberSignature Language="C#" Value="public Guid RequestTraceIdentifier { get; }" /><MemberSignature Language="ILAsm" Value=".property instance valuetype System.Guid RequestTraceIdentifier" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.MonoTODO("Always returns Guid.Empty")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Guid</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><since version=".NET 2.0" /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the request identifier of the incoming HTTP request.</para></summary></Docs></Member><Member MemberName="ServiceName"><MemberSignature Language="C#" Value="public string ServiceName { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string ServiceName" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.MonoTODO</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>An application could use the <see cref="P:System.Net.HttpListenerRequest.ServiceName" /> property to perform custom Service Provide Name (SPN) validation.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the Service Provider Name (SPN) that the client sent on the request.</para></summary></Docs></Member><Member MemberName="TransportContext"><MemberSignature Language="C#" Value="public System.Net.TransportContext TransportContext { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Net.TransportContext TransportContext" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Net.TransportContext</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.Net.TransportContext" /> property can be used to retrieve the channel binding token (CBT) for an <see cref="T:System.Net.HttpListenerRequest" /> which was sent using HTTPS. </para><para>An application could use the <see cref="T:System.Net.TransportContext" /> property to perform custom authentication using calls to the native Win32 <see cref="http://go.microsoft.com/fwlink/?LinkId=147021">AcceptSecurityContext</see> function. </para><para>If an application attempts to retrieve the channel binding token (CBT) from this <see cref="P:System.Net.HttpListenerRequest.TransportContext" /> property using the <see cref="M:System.Net.TransportContext.GetChannelBinding(System.Security.Authentication.ExtendedProtection.ChannelBindingKind)" /> method and the <see cref="T:System.Security.Authentication.ExtendedProtection.ChannelBindingKind" /> is not <see cref="F:System.Security.Authentication.ExtendedProtection.ChannelBindingKind.Endpoint" />, then the <see cref="T:System.Net.HttpListenerRequest" /> will throw <see cref="T:System.NotSupportedException" />. The <see cref="T:System.Net.HttpListenerRequest" /> overrides the <see cref="M:System.Net.TransportContext.GetChannelBinding(System.Security.Authentication.ExtendedProtection.ChannelBindingKind)" /> method with an internal implementation.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the <see cref="T:System.Net.TransportContext" /> for the client request.</para></summary></Docs></Member><Member MemberName="Url"><MemberSignature Language="C#" Value="public Uri Url { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Uri Url" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Uri</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="P:System.Net.HttpListenerRequest.Url" /> property allows you to obtain all the information available from a <see cref="T:System.Uri" /> object. If you need to know only the raw text of the URI request, consider using the <see cref="P:System.Net.HttpListenerRequest.RawUrl" /> property instead.</para><para>The <see cref="P:System.Net.HttpListenerRequest.Url" /> property is null if the <see cref="T:System.Uri" /> from the client could not be parsed.</para><para>The <see cref="P:System.Net.Configuration.HttpListenerElement.UnescapeRequestUrl" /> property indicates if <see cref="T:System.Net.HttpListener" /> uses the raw unescaped URI instead of the converted URI where any percent-encoded values are converted and other normalization steps are taken.</para><para>When a <see cref="T:System.Net.HttpListener" /> instance receives a request through the http.sys service, it creates an instance of the URI string provided by http.sys, and exposes it as the <see cref="P:System.Net.HttpListenerRequest.Url" /> property. </para><para>The http.sys service exposes two request URI strings:</para><list type="bullet"><item><para>Raw URI</para></item><item><para>Converted URI</para></item></list><para>The raw URI is the <see cref="T:System.Uri" /> provided in the request line of a HTTP request:</para><para>GET /path/</para><para>Host: www.contoso.com</para><para>The raw URI provided by http.sys for the request mentioned above, is "/path/". This represents the string following the HTTP verb as it was sent over the network.</para><para>The http.sys service creates a converted URI from the information provided in the request using the URI provided in the HTTP request line and the Host header to determine the origin server the request should be forwarded to. This is done by comparing the information from the request with a set of registered URI prefixes. In order to be able to compare those values, some normalization to the request needs to be done. For the sample above the converted URI would be as follows:</para><para>http://www.contoso.com/path/</para><para>The http.sys service combines the <see cref="P:System.Uri.Host" /> property value and the string in the request line to create a converted URI. In addition, http.sys and the <see cref="T:System.Uri" /> class also do the following:</para><list type="bullet"><item><para>Un-escapes all percent encoded values.</para></item><item><para>Converts percent-encoded non-ASCII characters into a UTF-16 character representation. Note that UTF-8 and ANSI/DBCS characters are supported as well as Unicode characters (Unicode encoding using the %uXXXX format).</para></item><item><para>Executes other normalization steps, like path compression.</para></item></list><para>Since the request doesn't contain any information about the encoding used for percent-encoded values, it may not be possible to determine the correct encoding just by parsing the percent-encoded values.</para><para>Therefore http.sys provides two registry keys for modifying the process:</para><list type="table"><listheader><item><term><para>Registry Key</para></term><description><para>Default Value</para></description><description><para>Description</para></description></item></listheader><item><term><para>EnableNonUTF8</para></term><description><para>1</para></description><description><para>If zero, http.sys accepts only UTF-8-encoded URLs. </para><para>If non-zero, http.sys also accepts ANSI-encoded or DBCS-encoded URLs in requests.</para></description></item><item><term><para>FavorUTF8</para></term><description><para>1</para></description><description><para>If non-zero, http.sys always tries to decode a URL as UTF-8 first; if that conversion fails and EnableNonUTF8 is non-zero, Http.sys then tries to decode it as ANSI or DBCS. </para><para>If zero (and EnableNonUTF8 is non-zero), http.sys tries to decode it as ANSI or DBCS; if that is not successful, it tries a UTF-8 conversion.</para></description></item></list><para>When <see cref="T:System.Net.HttpListener" /> receives a request, it uses the converted URI from http.sys as input to the <see cref="P:System.Net.HttpListenerRequest.Url" /> property.</para><para>There is a need for supporting characters besides characters and numbers in URIs. An example is the following URI, which is used to retrieve customer information for customer number "1/3812":</para><para>http://www.contoso.com/Customer('1%2F3812')/</para><para>Note the percent-encoded slash in the Uri (%2F). This is necessary, since in this case the slash character represents data and not a path delimiter.</para><para>Passing the string to Uri constructor will lead to the following URI: </para><para>http://www.contoso.com/Customer('1/3812')/</para><para>Splitting the path into its segments would result in the following elements:</para><para>Customer('1</para><para>3812')</para><para>This is not the intent of the sender of the request.</para><para>If the <see cref="P:System.Net.Configuration.HttpListenerElement.UnescapeRequestUrl" /> property is set to false, then when the <see cref="T:System.Net.HttpListener" /> receives a request, it uses the raw URI instead of the converted URI from http.sys as input to the <see cref="P:System.Net.HttpListenerRequest.Url" /> property.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the <see cref="T:System.Uri" /> object requested by the client.</para></summary></Docs></Member><Member MemberName="UrlReferrer"><MemberSignature Language="C#" Value="public Uri UrlReferrer { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Uri UrlReferrer" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Uri</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If a client has followed a hyperlink to the requested URI, its request might contain a Referrer header that identifies the URI of the resource that contained the hyperlink.</para><para>Clients can falsify or choose not to present a <see cref="F:System.Net.HttpRequestHeader.Referer" /> header. Therefore, while the <see cref="P:System.Net.HttpListenerRequest.UrlReferrer" /> property can be useful for identifying basic trends in Web traffic; you should not use it as part of an authorization scheme to control access to data.</para><para>For a complete list of request headers, see the <see cref="T:System.Net.HttpRequestHeader" /> enumeration.</para><para>The <see cref="P:System.Net.HttpListenerRequest.UrlReferrer" /> is null when there is no Referrer header in the request or when the Referrer header is present in the request but does not parse to a valid <see cref="T:System.Uri" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the Uniform Resource Identifier (URI) of the resource that referred the client to the server.</para></summary></Docs></Member><Member MemberName="UserAgent"><MemberSignature Language="C#" Value="public string UserAgent { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string UserAgent" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The User-Agent header typically contains text that identifies the name and version number of the software used to generate the request.</para><para>For a complete list of request headers, see the <see cref="T:System.Net.HttpRequestHeader" /> enumeration.</para><para>The <see cref="P:System.Net.HttpListenerRequest.UserAgent" /> is null when there is no User-Agent header in the request.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the user agent presented by the client.</para></summary></Docs></Member><Member MemberName="UserHostAddress"><MemberSignature Language="C#" Value="public string UserHostAddress { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string UserHostAddress" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The information returned by this property is also available in the <see cref="P:System.Net.HttpListenerRequest.LocalEndPoint" /> property value.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the server IP address and port number to which the request is directed.</para></summary></Docs></Member><Member MemberName="UserHostName"><MemberSignature Language="C#" Value="public string UserHostName { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string UserHostName" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The Host header contains the requested server host name and port number, if specified, separated by a colon (for example, www.contoso.com:8080).</para><para>You can use this property to return different responses depending on the host name specified in the request.</para><para>For a complete list of request headers, see the <see cref="T:System.Net.HttpRequestHeader" /> enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the DNS name and, if provided, the port number specified by the client.</para></summary></Docs></Member><Member MemberName="UserLanguages"><MemberSignature Language="C#" Value="public string[] UserLanguages { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string[] UserLanguages" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String[]</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>For a detailed description of the Accept-Language header, see RFC 2616 Section 14.4, available at <see cref="http://www.rfc-editor.org/">http://www.rfc-editor.org</see>.</para><para>For a complete list of request headers, see the <see cref="T:System.Net.HttpRequestHeader" /> enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the natural languages that are preferred for the response.</para></summary></Docs></Member></Members></Type>