WebRequest.Method Properti

Definisi

Ketika ditimpa di kelas turunan, mendapatkan atau mengatur metode protokol untuk digunakan dalam permintaan ini.

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

Nilai Properti

Metode protokol yang digunakan dalam permintaan ini.

Pengecualian

Jika properti tidak ditimpa di kelas turunan, upaya apa pun dilakukan untuk mendapatkan atau mengatur properti.

Contoh

Contoh berikut mengatur properti Method ke POST untuk menunjukkan bahwa permintaan akan memposting data ke host target.

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();
    }
}

Keterangan

Perhatian

WebRequest, HttpWebRequest, ServicePoint, dan WebClient usang, dan Anda tidak boleh menggunakannya untuk pengembangan baru. Gunakan HttpClient sebagai gantinya.

Saat ditimpa di kelas turunan, properti Method berisi metode permintaan untuk digunakan dalam permintaan ini.

Catatan

Kelas WebRequest adalah kelas abstract. Perilaku aktual instans WebRequest pada run time ditentukan oleh kelas turunan yang dikembalikan oleh metode WebRequest.Create. Untuk informasi selengkapnya tentang nilai dan pengecualian default, lihat dokumentasi untuk kelas turunan, seperti HttpWebRequest dan FileWebRequest.

Catatan Bagi Implementer

Properti Method dapat berisi metode permintaan yang valid untuk protokol yang diterapkan. Nilai default harus menyediakan transaksi permintaan/respons default yang tidak memerlukan properti khusus protokol untuk diatur.

Berlaku untuk

Produk Versi
.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
.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

Lihat juga