[英]Why IIS Server returns null baseUrl of ASP.NET CORE 5 MVC project, but returns true on local server?
我正在開發 ASP.NET CORE 5 MVC 項目,我想使用服務器變量發送 email 並在新選項卡上顯示文件。 在我的本地機器上,我可以獲取主機名,但是在 IIS 上發布后,我無法獲取結果。
我這樣得到基地 url
string baseUrl = string.Format("{0}://{1}", @HttpContext.Request.Scheme, @HttpContext.Request.HttpContext.GetServerVariable("HTTP_HOST"));
ViewBag.url = baseUrl;
我在 razor 頁面中使用
@if (@item.DOKUMAN1 == null)
{
<div class="col-sm-2 my-2">
<a hidden href="@ViewBag.url/UploadedImages/@item.DOKUMAN1" target="_blank">
<i class="icon ion-android-folder" style="font-size:25px;font-family:Calibri" src="~/UploadedImages/@item.DOKUMAN1"><b></b></i>
</a>
</div>
}
else
{
<div class="col-sm-2 my-2">
<a href="@ViewBag.url/UploadedImages/@item.DOKUMAN1" target="_blank">
<i class="icon ion-android-folder" style="font-size:25px;font-family:Calibri" src="~/UploadedImages/@item.DOKUMAN1"><b></b></i>
</a>
</div>
<input type="text" value="@ViewBag.url/UploadedImages/@item.DOKUMAN1"/>
}
我也添加了調試結果的圖像。在本地我可以獲得真實結果: http://localhost:16122/UploadedImages/1a78f896-6893-4079-a4d0-5a3387296ecb.mp4在本地服務器上,但在 IIS 服務器上結果是http: ///UploadedImages/1a78f896-6893-4079-a4d0-5a3387296ecb.mp4 。
我怎樣才能得到服務器基地 url?
以下代碼片段為您提供了當前的主機地址:
string myDomainName =HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.