我在Visual Studio中构建了一个带有角度ui-routing的单页面应用程序。这个前端应用程序运行良好。请注意,我没有基于MVC架构构建此前端。它基于angular seed's project。
问题:
现在我需要构建一个处理api调用的C#后端。标准是:
可能的解决方案:
我的问题:
非常感谢你的关注。
答案 0 :(得分:4)
我建议您在IIS中的同一网站下运行2个虚拟应用程序。如果您进入IIS,您可以创建一个网站,然后在其下创建一个虚拟应用程序。例如;
www.company.com
创建一个名为company.com的网站www.company.com/app
在company.com下创建一个名为app的虚拟应用程序,这将是您的角度应用程序所在的位置www.company.com/api
在company.com下创建一个名为api的虚拟应用程序,这将是您的Web API所在的位置。它可以是.NET应用程序。如果你迁移到PHP,你可能需要调整网站设置,但它仍然是一个很好的计划。
答案 1 :(得分:1)
我已经将@ fireydude的虚拟目录方法用于以前的单服务器托管项目,但如果您说您需要在每个用户上安装网站本身#39; s机器,然后是的,您可能最容易使用自托管方法实现此目的。
看看OWIN自托管,特别是你可能会寻找人们使用自托管方法实现端到端集成测试的示例代码 - 我已经为我当前的项目做了这件事,但不幸的是它是专有的代码,我不能在这里分享。
如果强制使用WebApi,请查看
另一方面,如果您有这样的自由,我强烈建议您查看ServiceStack框架 - 它非常好,非常快,具有更好的基于消息的API方法(类似于那些认可的方法)亚马逊,谷歌等)
答案 2 :(得分:0)
我有一些相同的项目结构,但我不使用角度。我希望我可以帮助你。
我在" visual studio code"以及" visual studio 2015"中的后端(api)构建网站。 API的Publish文件夹位于网站发布文件夹中。
root/inetpup/sites/www.example.com
root/inetpup/sites/www.example.com/api
我使用IIS并将www.example.com文件夹转换为网站。 该网站可在" www.example.com" &api on" www.example.com/api"。
在前端,我需要从后端请求日期,如下所示:
www.example.com/api/items