本文整理汇总了C#中System.Net.WebRequest.BeginGetRequestStream方法的典型用法代码示例。如果您正苦于以下问题:C# WebRequest.BeginGetRequestStream方法的具体用法?C# WebRequest.BeginGetRequestStream怎么用?C# WebRequest.BeginGetRequestStream使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Net.WebRequest
的用法示例。
在下文中一共展示了WebRequest.BeginGetRequestStream方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RequestState
//引入命名空间
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 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.
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
// Write the data to the stream.
streamResponse.Write(byteArray,0,postData.Length);
streamResponse.Close();
allDone.Set();
}
}