本文整理汇总了C#中System.Net.HttpWebRequest.?.Abort方法的典型用法代码示例。如果您正苦于以下问题:C# HttpWebRequest.?.Abort方法的具体用法?C# HttpWebRequest.?.Abort怎么用?C# HttpWebRequest.?.Abort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Net.HttpWebRequest
的用法示例。
在下文中一共展示了HttpWebRequest.?.Abort方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DownloadWebsiteAsStringAsync
public static async Task<string> DownloadWebsiteAsStringAsync(HttpWebRequest request)
{
if (request == null) { throw new ArgumentNullException(nameof(request)); }
string response = string.Empty;
using (HttpWebResponse resp = (HttpWebResponse)(await request.GetResponseAsyncExt().ConfigureAwait(false)))
{
if (resp == null)
{
request?.Abort();
}
else
{
if (resp.StatusCode == HttpStatusCode.OK)
{
using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
try
{
response = await sr.ReadToEndAsync().ConfigureAwait(false);
}
catch (Exception e)
{
string message = string.Format(CultureInfo.CurrentCulture, "Requesting {0} failed with code {1}", request.RequestUri.AbsoluteUri, resp.StatusCode.ToString());
LogException(e, message);
response = string.Empty;
}
}
}
}
}
return response;
}
示例2: Start
/// <summary>
/// Used by the worker thread to start the request
/// </summary>
public void Start()
{
try
{
// Create the request
request = (HttpWebRequest)System.Net.WebRequest.Create(URL);
request.Method = Method;
request.Credentials = CredentialCache.DefaultCredentials;
request.Proxy = null;
request.KeepAlive = false;
request.Timeout = (int)Math.Round((Timeout == 0f ? WebRequests.Timeout : Timeout) * 1000f);
request.ServicePoint.MaxIdleTime = request.Timeout;
request.ServicePoint.Expect100Continue = ServicePointManager.Expect100Continue;
request.ServicePoint.ConnectionLimit = ServicePointManager.DefaultConnectionLimit;
// Optional request body for post requests
var data = new byte[0];
if (Body != null)
{
data = Encoding.UTF8.GetBytes(Body);
request.ContentLength = data.Length;
request.ContentType = "application/x-www-form-urlencoded";
}
if (RequestHeaders != null) request.SetRawHeaders(RequestHeaders);
// Perform DNS lookup and connect (blocking)
if (data.Length > 0)
{
request.BeginGetRequestStream(result =>
{
if (request == null) return;
try
{
// Write request body
using (var stream = request.EndGetRequestStream(result)) stream.Write(data, 0, data.Length);
}
catch (Exception ex)
{
ResponseText = ex.Message.Trim('\r', '\n', ' ');
request?.Abort();
OnComplete();
return;
}
WaitForResponse();
}, null);
}
else
{
WaitForResponse();
}
}
catch (Exception ex)
{
ResponseText = ex.Message.Trim('\r', '\n', ' ');
var message = $"Web request produced exception (Url: {URL})";
if (Owner) message += $" in '{Owner.Name} v{Owner.Version}' plugin";
Interface.Oxide.LogException(message, ex);
request?.Abort();
OnComplete();
}
}