2013-02-16 122 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

相关问题