2013-11-05 27 views
18

我通過localhost:5252在本地爲我的MVC應用程序提供服務。如何在IISExpress上使用localhost的子域名?

我試圖通過讓localhost和contoso.localhost指向我的web應用程序實例來設置我的應用程序來測試多租戶。

設置我的主機文件與相應的條目:

127.0.0.1  contoso.localhost 

但是我不知道還有什麼我需要做的,使這項工作。現在,當我瀏覽時,我只是得到一個標準的IIS8頁面,即使我在IIS管理器中沒有做任何事情。

我想避免必須在本地使用IIS,因爲一切都與IISExpress一起工作。有沒有簡單的方法來實現這一點?

+0

[關於本地IIS跨子域表單驗證]的可能重複(HTTP://計算器。com/questions/8278015/forms-authentication-across-sub-domains-on-local-iis) –

回答

26

這可以通過編輯applicationHost.config文件

C:\Users\yourProfile\Documents\IISExpress\config\applicationHost.config 

Visual Studio的通常處理時進行配置更改編輯這個文件,爲你實現,但你可以手動編輯。查找特定的網站,你正在使用和以下綁定應該工作:

<bindings> 
    <binding protocol="http" bindingInformation="*:5252:localhost" /> 
    <binding protocol="http" bindingInformation="*:5252:contoso.localhost" /> 
</bindings> 

你真的可以改變你要那麼你可以使用80保存自己的一些打字端口到任何東西。繼續添加綁定以根據需要填寫多租戶。

如果你正在尋找更多的信息,我會建議您檢查出Scott Hanselman's blog post on IIS Express & SSL.

更新

隨着2015年VS .NET &核心,的applicationHost.config已經轉移到存儲配置的基於目錄的系統而不是全局配置文件。新的位置是相對於項目:

.vs\config\applicationHost.config

相同的編輯的原理適用於這個文件,但使用TFS源控制VS 當分支之間改變,因爲它與沒有當不編輯文件全局文件。

關於域的通配符註釋,wildcarding hostname isn't supported直到IIS 10.因此,它可能在IIS Express 10中受支持,但可能不會在此之前。

bindingInformation的細目:

bindingInformation="<IPAddress>:<Port>:<Hostname>"

+0

我的路徑實際上是'C:\ Users \ myaccount \ Documents \ IISExpress' –

+0

@SerjSagan良好的捕獲。這是正確的道路。我已經更新了答案以反映它。 – beavel

+1

@beavel我試過這個,但我仍然得到了400個不好的請求......任何想法? – Steve

0

嘗試檢查項目URL的項目設置。

在解決方案資源管理器中的項目右鍵 - >屬性 - >服務器下的Web

查找項目的URL。更新這個值來鏡像你的子域的網址,你應該很好去。

+1

我需要能夠同時使用localhost和contoso.localhost - 我沒有看到配置多個採用這種方法的網址。想法? – SB2055

相關問題