1
0
پیاده سازی Http Response Writing Extensions در Asp.Net Core
پیاده سازی Http Response Writing Extensions در Asp.Net Core
به صورت پیش فرض در Asp.Net Core امکان استفاده از response.write وجود ندارد به همین خاطر باید خودمان یک Extension متد برای آن بنویسیم.
response.write چیست؟
در صورتی که شما بخواهید از طریق کد نویسی سی شارپ به یک سایت دیگر ریدایرکت شوید می توانید از این متد استفاده کنید.
ابتدا یک کلاس به نام HttpResponseWritingExtensions ایجاد کنید و کدهای زیر را به آن اضافه کنید.
using System; using System.Text; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; namespace AspNetCoreMVC.Helpers { /// <summary> /// Convenience methods for writing to the response. /// </summary> public static class HttpResponseWritingExtensions { /// <summary> /// Writes the given text to the response body. UTF-8 encoding will be used. /// </summary> /// <param name="response">The <see cref="HttpResponse"/>.</param> /// <param name="text">The text to write to the response.</param> /// <param name="cancellationToken">Notifies when request operations should be cancelled.</param> /// <returns>A task that represents the completion of the write operation.</returns> public static Task WriteAsync(this HttpResponse response, string text, CancellationToken cancellationToken = default(CancellationToken)) { if (response == null) { throw new ArgumentNullException(nameof(response)); } if (text == null) { throw new ArgumentNullException(nameof(text)); } return response.WriteAsync(text, Encoding.UTF8, cancellationToken); } /// <summary> /// Writes the given text to the response body using the given encoding. /// </summary> /// <param name="response">The <see cref="HttpResponse"/>.</param> /// <param name="text">The text to write to the response.</param> /// <param name="encoding">The encoding to use.</param> /// <param name="cancellationToken">Notifies when request operations should be cancelled.</param> /// <returns>A task that represents the completion of the write operation.</returns> public static Task WriteAsync(this HttpResponse response, string text, Encoding encoding, CancellationToken cancellationToken = default(CancellationToken)) { if (response == null) { throw new ArgumentNullException(nameof(response)); } if (text == null) { throw new ArgumentNullException(nameof(text)); } if (encoding == null) { throw new ArgumentNullException(nameof(encoding)); } byte[] data = encoding.GetBytes(text); return response.Body.WriteAsync(data, 0, data.Length, cancellationToken); } } }
برای استفاده از این Extension کافیست به صورت زیر متد Response.WriteAsync را صدا زده و سپس در ورودی آن نام سایت مورد نظر را وارد کنید
Response.WriteAsync("http://iranganj.com");
نظر / سوال