我有 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 服务器上)。
如果我们在项目中使用相同的端口,如果已经有 DEV 服务器在运行,Visual Studio 会自动选择一个动态端口。
感谢您的帮助。
最佳答案
不可以,您不能在同一端口/应用程序空间下托管两个应用程序。想想 web.config、路由(如评论中提到的)、安全性等。这些都是该空间的一部分。
您可以尝试解决跨域错误,但这并不简单,而且跨浏览器不友好(目前)。我希望情况会有所改变。
您有几个选择:
- 使用 WebAPI 在 ChildSite 上公开您需要的位,并通过 Controller 从 ParentSite 使用它。您可以使用简单的 HTTP 获取来完成此操作,并将 JSON 返回到弹出窗口(现在将位于 ParentSite 上)。客户端不再访问第 3 方网站。
- 使用区域或可移植区域将子项目合并到 ParentSite
要添加区域,只需在解决方案资源管理器中右键单击您的 MVC 项目,然后选择“添加”->“区域”。
干杯。
关于c# - 在一台 Visual Studio 开发服务器中运行多个 Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14911222/