将Service栈与MVC和AngularJs集成

时间:2013-12-23 22:48:00

标签: asp.net-mvc angularjs asp.net-mvc-4 asp.net-web-api servicestack

使用带有MVC的web.API似乎很容易设置,您将WebApiConfig.cs保留为默认值,创建一个新的web.API控制器,然后在您的JavaScript中,您可以调用$http.get("api/...")

我希望能够使用服务堆栈而不是web.API来做同样的事情。更困难的是服务栈api在自己的项目中。在那一刻,我可以使用jsonServiceClient在MVC中调用端点。但是,使用Angular调用客户端需要我调用完整的FQDN,这会导致跨站点脚本问题。

如何配置我的MVC项目,以便我可以从AngularJs的$http.get方法调用我的服务堆栈端点,如下所示:

  

$ http.get(“API /...")

而不是:

$http.get("http://localhost:2540/api/...")

1 个答案:

答案 0 :(得分:2)

您可以通过在您的Web项目下的IIS中创建别名并命名API并指向您的ServiceStack项目来实现此目的。

如果你需要扩展你的解决方案,你可能会在将来遇到问题,但只要你不需要这样做,你应该没问题。