【发布时间】:2015-01-05 16:53:35
【问题描述】:
我有一个 ASP.NET MVC 项目,其中包含大部分 Web 应用程序以及客户端代码使用的 Web API。 API 组件开始蔓延,我想将 API 和 MVC 应用程序分成两个项目。 (MyAppMVC 和 MyAppAPI)。但是,当 MVC 应用程序不属于一个项目时,我不确定如何让 MVC 应用程序与 API 很好地配合使用。
现在我有一个 API 控制器 MyAPIController 可以回答从客户端 JavaScript 发送到 /api/MyAPI 的 POST 和 GET 请求。当 JS 和 API 都在同一个项目下时,我从 Visual Studio 运行解决方案并点击 API 没有任何问题。
但是,当他们在不同的项目中运行时,这不再合作。为了避免违反跨域安全,JS 必须在同一个域/端口内访问 API。然而,Visual Studio 在不同的端口上运行我的 API 和 MVC 应用程序,并且试图从 MVC 文件中的 Javascript 文件中访问 API 会导致同源错误。
有没有办法让这两个不同但互补的项目在同一个域/端口上运行?为了组织和模块化,我真的希望能够将我的 Web 应用程序分成多个项目,而不是将它们集中到一个庞大的项目中。
【问题讨论】:
-
他们在同一个解决方案中吗?
-
您可以在同一站点上使用 CORS 或不同的 IIS 应用程序。
-
您可以使用 IIS 代替 IISExpress / Cassini。将它们托管在同一个网站上。
标签: javascript c# asp.net-mvc asp.net-web-api