Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

WebRequest::Method Property

 

When overridden in a descendant class, gets or sets the protocol method to use in this request.

Namespace:   System.Net
Assembly:  System (in System.dll)

public:
property String^ Method {
	virtual String^ get();
	virtual void set(String^ value);
}

Property Value

Type: System::String^

The protocol method to use in this request.

Exception Condition
NotImplementedException

If the property is not overridden in a descendant class, any attempt is made to get or set the property.

When overridden in a descendant class, the Method property contains the request method to use in this request.

System_CAPS_noteNote

The WebRequest class is an abstract class. The actual behavior of WebRequest instances at run time is determined by the descendant class returned by the WebRequest::Create method. For more information about default values and exceptions, see the documentation for the descendant classes, such as HttpWebRequest and FileWebRequest.

Notes to Inheritors:

The Method property can contain any valid request method for the protocol implemented. The default value must provide a default request/response transaction that does not require protocol-specific properties to be set.

The following example sets the Method property to POST to indicate that the request will post data to the target host.

#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::IO;
using namespace System::Text;
using namespace System::Threading;
public ref class RequestState
{
public:

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

};

ref class WebRequest_BeginGetRequeststream
{
public:
   static ManualResetEvent^ allDone = gcnew ManualResetEvent( false );
   static void ReadCallback( IAsyncResult^ asynchronousResult )
   {
      RequestState^ myRequestState = dynamic_cast<RequestState^>(asynchronousResult->AsyncState);
      WebRequest^ myWebRequest = myRequestState->request;

      // End of the Asynchronus 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.
      array<Byte>^byteArray = Encoding::UTF8->GetBytes( postData );

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

};

int 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 its request field.
   RequestState^ myRequestState = gcnew RequestState;
   myRequestState->request = myWebRequest;
   myWebRequest->ContentType = "application/x-www-form-urlencoded";

   // Set the 'Method' prperty  to 'POST' to post data to a Uri.
   myRequestState->request->Method = "POST";

   // Start the Asynchronous 'BeginGetRequestStream' method call.
   IAsyncResult^ r = dynamic_cast<IAsyncResult^>(myWebRequest->BeginGetRequestStream( gcnew AsyncCallback( WebRequest_BeginGetRequeststream::ReadCallback ), myRequestState ));
   WebRequest_BeginGetRequeststream::allDone->WaitOne();
   WebResponse^ myWebResponse = myWebRequest->GetResponse();
   Console::WriteLine( "The String* entered has been posted." );
   Console::WriteLine( "Please wait for the response..." );
   Stream^ streamResponse = myWebResponse->GetResponseStream();
   StreamReader^ streamRead = gcnew StreamReader( streamResponse );
   array<Char>^readBuff = gcnew array<Char>(256);
   int count = streamRead->Read( readBuff, 0, 256 );
   Console::WriteLine( "The contents of the HTML page are " );
   while ( count > 0 )
   {
      String^ outputData = gcnew String( readBuff,0,count );
      Console::Write( outputData );
      count = streamRead->Read( readBuff, 0, 256 );
   }

   streamResponse->Close();
   streamRead->Close();

   // Release the HttpWebResponse Resource.
   myWebResponse->Close();
}

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Show:
© 2017 Microsoft