2

我有 2 个 ASP.Net MVC Web 应用程序,ParentSite 和 ChidSite。ParentSite 有一个页面,该页面将打开一个弹出窗口,该窗口将导航到子站点,当子页面完成时,它会通知父页面。但是我收到了一个跨域错误

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

在 Visual Studio 中有没有一种方法可以在 Visual Studio 开发服务器的一个端口下运行这两个 Web 应用程序(不在本地 IIS 服务器上)。

如果我们在项目中使用相同的端口,Visual Studio 会自动选择一个动态端口,如果它已经运行了 DEV 服务器。

谢谢您的帮助。

4

1 回答 1

3

不,您不能在同一个端口/应用程序空间下托管两个应用程序。想想 web.config、路由(如评论中提到的)、安全性等。这些都是该空间的一部分。

可以尝试解决跨域错误,但这并不简单,也不是跨浏览器友好的(目前)。我希望情况会有所改变。

你有几个选择:

  • 使用 WebAPI 在 ChildSite 上公开您需要的位,并从控制器的 ParentSite 使用它。您可以通过简单的 HTTP 获取来执行此操作,并将 JSON 返回到弹出窗口(现在将存在于 ParentSite 上)。客户端不再访问第 3 方站点。
  • 使用区域或可移动区域将子项目合并到 ParentSite

要添加区域,只需在解决方案资源管理器中右键单击您的 MVC 项目,然后选择添加 -> 区域。

干杯。

于 2013-02-17T18:01:16.333 回答