यदि आप वास्तव में वास्तविक, कच्चा URL चाहते हैं , तो आप निम्नलिखित एक्सटेंशन विधि का उपयोग कर सकते हैं:
public static class HttpRequestExtensions
{
public static Uri GetRawUrl(this HttpRequest request)
{
var httpContext = request.HttpContext;
var requestFeature = httpContext.Features.Get<IHttpRequestFeature>();
return new Uri(requestFeature.RawTarget);
}
}
यह विधि RawTargetअनुरोध का उपयोग करती है, जो HttpRequestवस्तु पर ही सामने नहीं आती है। यह संपत्ति ASP.NET कोर के 1.0.0 रिलीज में जोड़ी गई थी। सुनिश्चित करें कि आप वह या नया संस्करण चला रहे हैं।
ध्यान दें! यह संपत्ति कच्चे URL को उजागर करती है , इसलिए इसे डिकोड नहीं किया गया है, जैसा कि प्रलेखन द्वारा उल्लेख किया गया है:
इस संपत्ति का उपयोग आंतरिक रूप से रूटिंग या प्राधिकरण निर्णयों के लिए नहीं किया जाता है। यह UrlDecoded नहीं किया गया है और इसके उपयोग में देखभाल की जानी चाहिए।