Číst v angličtině

Sdílet prostřednictvím


WebRequest.Method Vlastnost

Definice

Důležité

Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.

Při přepsání v potomk třídy získá nebo nastaví metodu protokolu pro použití v tomto požadavku.

public abstract string Method { get; set; }
public virtual string Method { get; set; }

Hodnota vlastnosti

Metoda protokolu, která se má použít v tomto požadavku.

Výjimky

Pokud vlastnost není přepsána v potomk třídy, všechny pokusy o získání nebo nastavení vlastnosti.

Příklady

Následující příklad nastaví Method vlastnost POST tak, aby indikuje, že požadavek odešle data do cílového hostitele.

using System;
using System.Net;
using System.IO;
using System.Text;
using System.Threading;

public class RequestState
{
    // This class stores the request state of the request.
    public WebRequest request;    
    public RequestState()
    {
        request = null;
    }
}

class WebRequest_BeginGetRequeststream
{
    public static ManualResetEvent allDone= new ManualResetEvent(false);
    static void Main()
    {
            // Create a new request to the mentioned URL.
            WebRequest myWebRequest= WebRequest.Create("http://www.contoso.com");

            // Create an instance of the RequestState and assign 
            // 'myWebRequest' to it's request field.
            RequestState myRequestState = new RequestState();
            myRequestState.request = myWebRequest;
            myWebRequest.ContentType="application/x-www-form-urlencoded";

            // Set the 'Method' property to 'POST' to post data to a Uri.
            myRequestState.request.Method="POST";
            // Start the Asynchronous 'BeginGetRequestStream' method call.
            IAsyncResult r=(IAsyncResult) myWebRequest.BeginGetRequestStream(
                new AsyncCallback(ReadCallback),myRequestState);
            // Pause the current thread until the async operation completes.
            Console.WriteLine("main thread waiting...");
            allDone.WaitOne();
            // Assign the response object of 'WebRequest' to a 'WebResponse' variable.
            WebResponse myWebResponse = myWebRequest.GetResponse();
            Console.WriteLine("The string has been posted.");
            Console.WriteLine("Please wait for the response...");

            Stream streamResponse = myWebResponse.GetResponseStream();
            StreamReader streamRead = new StreamReader( streamResponse );
            Char[] readBuff = new Char[256];
            int count = streamRead.Read( readBuff, 0, 256 );
            Console.WriteLine("\nThe contents of the HTML page are ");

            while (count > 0) 
            {
                String outputData = new String(readBuff, 0, count);
                Console.Write(outputData);
                count = streamRead.Read(readBuff, 0, 256);
            }

            // Close the Stream Object.
            streamResponse.Close();
            streamRead.Close();

            // Release the HttpWebResponse Resource.
            myWebResponse.Close();
    }
    private static void ReadCallback(IAsyncResult asynchronousResult)
    {
            RequestState myRequestState =(RequestState) asynchronousResult.AsyncState;
            WebRequest myWebRequest = myRequestState.request;

            // End the Asynchronous request.
            Stream streamResponse = myWebRequest.EndGetRequestStream(asynchronousResult);

            // Create a string that is to be posted to the uri.
            Console.WriteLine("Please enter a string to be posted:");
            string postData = Console.ReadLine();
            // Convert the string into a byte array.
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);

            // Write the data to the stream.
            streamResponse.Write(byteArray,0,postData.Length);
            streamResponse.Close();
            allDone.Set();
    }
}

Poznámky

Upozornění

WebRequest, HttpWebRequest, ServicePointa WebClient jsou zastaralé a neměli byste je používat pro nový vývoj. Místo toho použijte HttpClient.

Při přepsání v potomk třídy, Method vlastnost obsahuje metodu požadavku, která se má použít v tomto požadavku.

Poznámka

Třída WebRequest je třída abstract. Skutečné chování WebRequest instancí za běhu je určeno následnou třídou vrácenou metodou WebRequest.Create. Další informace o výchozích hodnotách a výjimkách naleznete v dokumentaci pro potomky třídy, jako jsou HttpWebRequest a FileWebRequest.

Poznámky pro implementátory

Vlastnost Method může obsahovat jakoukoli platnou metodu požadavku pro implementovaný protokol. Výchozí hodnota musí obsahovat výchozí transakci požadavku a odpovědi, která nevyžaduje nastavení vlastností specifických pro protokol.

Platí pro

Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Viz také