Mengambil objek HttpRequest di C# Asp.Net WebForm
Jika Anda telah melakukan banyak pemrograman ASP.NET, Anda mungkin telah menghabiskan banyak waktu memetakan url ke lokasi disk fisik dan sebaliknya. Kebutuhan ini muncul setiap kali Anda menyimpan file di server atau melakukan beberapa jenis penguraian URL dan perutean ulang permintaan masuk.
Contoh Kasus URL :
Input URL: https://localhost:96/Cambia3/Temp/Test.aspx?q=item#fragment
Praktek:
Beberapa HttpRequest path dan URL properties: | |
Request.ApplicationPath: | /Cambia3 |
Request.CurrentExecutionFilePath: | /Cambia3/Temp/Test.aspx |
Request.FilePath: | /Cambia3/Temp/Test.aspx |
Request.Path: | /Cambia3/Temp/Test.aspx/path/info |
Request.PathInfo: | /path/info |
Request.PhysicalApplicationPath: | D:\Inetpub\wwwroot\CambiaWeb\Cambia3\ |
Request.RawUrl: | /Cambia3/Temp/Test.aspx/path/info?query=arg |
Request.Url.AbsolutePath: | /Cambia3/Temp/Test.aspx/path/info |
Request.Url.AbsoluteUri: | http://localhost:96/Cambia3/Temp/Test.aspx/path/info?query=arg |
Request.Url.Fragment: | |
Request.Url.Host: | localhost |
Request.Url.LocalPath: | /Cambia3/Temp/Test.aspx/path/info |
Request.Url.PathAndQuery: | /Cambia3/Temp/Test.aspx/path/info?query=arg |
Request.Url.Port: | 96 |
Request.Url.Query: | ?query=arg |
Request.Url.Scheme: | http |
Request.Url.Segments: | / Cambia3/ Temp/ Test.aspx |
Input: http://localhost:96/Cambia3/Temp/Test.aspx/path/info?q=item#fragment
Some HttpRequest path and URL properties: | |
Request.ApplicationPath: | /Cambia3 |
Request.CurrentExecutionFilePath: | /Cambia3/Temp/Test.aspx |
Request.FilePath: | /Cambia3/Temp/Test.aspx |
Request.Path: | /Cambia3/Temp/Test.aspx/path/info |
Request.PathInfo: | /path/info |
Request.PhysicalApplicationPath: | D:\Inetpub\wwwroot\CambiaWeb\Cambia3\ |
Request.RawUrl: | /Cambia3/Temp/Test.aspx/path/info?query=arg |
Request.Url.AbsolutePath: | /Cambia3/Temp/Test.aspx/path/info |
Request.Url.AbsoluteUri: | http://localhost:96/Cambia3/Temp/Test.aspx/path/info?query=arg |
Request.Url.Fragment: | |
Request.Url.Host: | localhost |
Request.Url.LocalPath: | /Cambia3/Temp/Test.aspx/path/info |
Request.Url.PathAndQuery: | /Cambia3/Temp/Test.aspx/path/info?query=arg |
Request.Url.Port: | 96 |
Request.Url.Query: | ?query=arg |
Request.Url.Scheme: | http |
Request.Url.Segments: | / Cambia3/ Temp/ Test.aspx/ path/ info |
Berikut ini adalah metode C # yang saya gunakan untuk memproses URL di atas dan menghasilkan tabel keluaran. Anda dapat menggunakan metode ini di file di belakang kode untuk halaman aspx dengan nama kontrol Label lblOutput.
private void DisplayRequestObjectProperties() { lblOutput.Text = "<table cellpadding=2 border=1>"; lblOutput.Text += "<tr><td colspan=2 align=center>"; lblOutput.Text += "Some HttpRequest path and ULR properties:"; lblOutput.Text += "</td></tr>"; // application path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.ApplicationPath:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.ApplicationPath + "</b>"; lblOutput.Text += "</td></tr>"; // current execution file path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.CurrentExecutionFilePath:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.CurrentExecutionFilePath + "</b>"; lblOutput.Text += "</td></tr>"; // file path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.FilePath:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.FilePath + "</b>"; lblOutput.Text += "</td></tr>"; // path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Path:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Path + "</b>"; lblOutput.Text += "</td></tr>"; // path info lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.PathInfo:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.PathInfo + "</b>"; lblOutput.Text += "</td></tr>"; // physical application path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.PhysicalApplicationPath:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.PhysicalApplicationPath + "</b>"; lblOutput.Text += "</td></tr>"; // raw url lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.RawUrl:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.RawUrl + "</b>"; lblOutput.Text += "</td></tr>"; // absolute path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.AbsolutePath:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.AbsolutePath + "</b>"; lblOutput.Text += "</td></tr>"; // absolute uri lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.AbsoluteUri:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.AbsoluteUri + "</b>"; lblOutput.Text += "</td></tr>"; // fragment lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Fragment:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.Fragment + "</b>"; lblOutput.Text += "</td></tr>"; // host lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Host:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.Host + "</b>"; lblOutput.Text += "</td></tr>"; // authority lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Authority:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.Authority + "</b>"; lblOutput.Text += "</td></tr>"; // local path lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.LocalPath:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.LocalPath + "</b>"; lblOutput.Text += "</td></tr>"; // path and query lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.PathAndQuery:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.PathAndQuery + "</b>"; lblOutput.Text += "</td></tr>"; // port lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Port:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.Port + "</b>"; lblOutput.Text += "</td></tr>"; // query lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Query:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.Query + "</b>"; lblOutput.Text += "</td></tr>"; // scheme lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Scheme:"; lblOutput.Text += "</td><td>"; lblOutput.Text += "<b>" + Request.Url.Scheme + "</b>"; lblOutput.Text += "</td></tr>"; // segments lblOutput.Text += "<tr><td>"; lblOutput.Text += "Request.Url.Segments:"; lblOutput.Text += "</td><td>"; string[] segments = Request.Url.Segments; foreach (string s in segments) lblOutput.Text += "<b>" + s + "</b><br>"; lblOutput.Text += "</td></tr>"; lblOutput.Text += "</table>"; }
0 Komentar