2013-02-16 119 views
2

我有2個ASP.Net MVC Web應用程序,ParentSite和ChidSite。 ParentSite有一個頁面,該頁面將打開一個彈出窗口,該窗口將導航到子站點,當childpage完成時它將通知父頁面。但是我得到一個跨域誤差在一個Visual Studio開發服務器中運行多個Web應用程序?

Parent is = http://localhost:49000/Home 
Child is = http://localhost:50000/Home 

有沒有在Visual Studio的方式,我可以在Visual Studio開發服務器在一個端口上同時運行Web應用程序(而不是在本地IIS服務器)。

如果我們在項目中使用同一端口,Visual Studio會自動選擇一個動態端口(如果已經有DEV服務器在其上運行)。

感謝您的幫助。

+0

」兩個Web應用程序在一個端口下「 - 不,不會自動。 (例如,'/ Home'會去哪裏?)你可以使用路由將控制器從一個包含到另一箇中。 – millimoose 2013-02-16 14:20:43

+0

爲什麼要在一個端口上運行2個應用程序?在這種情況下,在一個應用程序中製作不同的路線。使用路由引擎爲它們提供不同的路徑和控制器。 – 2013-02-16 14:42:47

+0

爲什麼2個應用程序在1個端口?在組織級別上,多個站點在IIS上作爲VD託管......因此在生產中跨域問題將永遠不會存在...... – Manjesh 2013-02-17 23:16:56

回答

2

不,您不能在相同的端口/應用程序空間下託管兩個應用程序。想想像web.config,路由(如評論中提到的),安全性等。這些都是該空間的一部分。

可能嘗試解決跨域錯誤,但這不是直接的,並且不是跨瀏覽器友好的(但)。我希望有所改變。

你有兩個選擇:

  • 會使您需要在ChildSite用的WebAPI和控制器從ParentSite消耗它的位。您可以使用簡單的HTTP獲取,並將JSON返回到彈出窗口(現在位於ParentSite上)。客戶端不再訪問第三方網站。
  • 使用區域或便攜式領域納入兒童計劃到ParentSite

要添加區在解決方案資源管理你的MVC項目只需右鍵單擊並選擇添加 - >區域。

乾杯。 「

+0

爲什麼2個應用程序在1端口?在組織級別上,多個站點在IIS上作爲VD託管......因此在生產中,跨域問題將永遠不會存在 有兩個獨立的項目由不同的團隊完成...... http:// company。 com/projectA'和'http:// company.com/projectB' //所以在本地它們是2個獨立的項目......所以瀏覽器給了跨域...並阻止了開發團隊的有效測試 – Manjesh 2013-02-17 23:21:05

+0

這是額外的詳細信息對於這個問題很有幫助,但是如果你不使用VD,那麼同樣的挑戰依然存在。地區仍然是一個選擇。 – MisterJames 2013-02-18 17:10:47

相關問題