2016-12-15 73 views
0

在IIS服務器上的我的Asp.net MVC 5 Web應用程序無法爲基於URL應用程序名稱參數的不同客戶加載多個實例。換句話說,我們無法同時在不同的數據庫中登錄兩個應用程序。Aspnet mvc多租戶多實例問題

我設置應用程序鏈接將不同的應用程序名稱作爲參數傳遞給控制器​​,並使用它爲不同的實例動態連接到具有相同模式的不同數據庫。我使用ASP.NET Membership的應用程序名稱來識別控制器中的不同實例。

例如:我使用不同的瀏覽器以相同的演示憑證(用戶名:user;密碼:pass)登錄以下兩個url,每次只能顯示一個實例。我可以同時登錄並刷新以前的登錄名。它將更改爲更高版本的登錄實例。

https://localhost.test.info/CM/Account/Login?app=c1

https://localhost.test.info/CM/Account/Login?app=c2

+0

我認爲就瀏覽器會話而言,您已將用戶切換到場景後面,並將兩個實例切換到當前用戶。 –

回答

0

我經歷的一個問題是這樣使用的時候我們的代碼部分 「靜態」 的類型。 IIS會爲每個瀏覽器會話創建一個新的webapp實例,但靜態代碼是在它們之間共享的。第二個想法是確認您的用戶身份代碼沒有使用應用程序變量(與會話變量相反)。

+0

感謝codestever給你的建議,但我沒有使用靜態類型或應用程序變量。 – Shailendra

+0

嗨Codestever你是對的那裏有一些靜態類型。我使用具有靜態類型屬性e,g的Aspnet Membership。靜態ApplicationName。 https://msdn.microsoft.com/en-us/library/system.web.security.membership.applicationname(v=vs.110).aspx – Shailendra