2013-07-23 86 views
3

在使用ASP.NET MVC應用程序的端口[RequireHttps]導致重定向到HTTPS端口443上,如果用戶嘗試通過HTTP訪問應用程序。在IIS/IIS Express中發現已配置的HTTPS端口?

但是,在IIS Express中,應用程序可能不會在端口443上運行,則相反,是對像端口44301.

我發現不同的技巧與執行替換RequireHttpsAttribute運行需要替代的端口號作爲參數,或從Web.config讀取它。

這是笨重的,因爲它需要在一個以上的地方配置。

有沒有辦法做到這一點 - 編程 - 在一個通用的方式?

沒有試圖搶先的答案,有些選項會出現對我說:

  1. 有什麼辦法來發現正在使用的從代管我的應用程序的IIS或IIS表達的實例綁定?
  2. 有什麼辦法讀取applicationHost.config當前IIS/IIS Express主機?
+0

你見過這個:http://stackoverflow.com/questions/3690901/iis-express-defaulting-to-port-44300-for-https-when-enabling-ssl?rq=1 – Kev

+0

是的。我不想將IIS Express更改爲使用端口443,因爲我在IIS Express中運行了多個HTTPS應用程序。我也已經有IIS使用端口443 –

回答

0

您可以通過運行以下命令

「的netsh HTTP顯示servicestate視圖= REQUESTQ」 檢查當前使用的綁定(IIS的/ IIS快遞)

你可以找到對ApplicationHost.config IIS Express的文件在%userprofile%\ documents \ iisexpress \ config文件夾中。

+0

我想這樣做編程,從我的ASP.NET MVC應用程序中。 –