首页 新闻 会员 周边

想问下采用MVC开发项目,又想利用WEBAPI做接口,该部署几个解决方案?

0
悬赏园豆:10 [已解决问题] 解决于 2016-11-02 15:48

就是现在都说用WEBAPI做对外的接口(这样WEB端、CS端、手机端都可以调用)

但是webapi的解决方案就是一个MVC的解决方案吧?

那么如果WEB端的开发 是新建一个解决方案,里面即包括了各种页面的功能,还同时包括这套Webapi吗?

还是说分开两个解决方案?如果能分开,那是不是有可能是先访问WEB(MVC),然后WEB再去调用Webapi,这样是不是两次请求了?因为分开部署,怕会有跨域问题,所以我想先访问WEB,然后WEB再去调用相应的WEBAPI返回数据?

 

按我目前的理解就是只能开发一个解决方案,同时包含WEB页面的功能和Webapi接口的功能,然后发布部署就是一个域名下。浏览器直接调用webapi接口也不存在跨域问题,是这样吗?

犇牛牛的主页 犇牛牛 | 初学一级 | 园豆:31
提问于:2016-11-02 14:56
< >
分享
最佳答案
0

首先你的MVC开发的项目应该是Web端吧!那WebApi肯定是作为服务端啊!那就简单了,当然是两个Solution了。可以将服务端作为project引用到MVC Project所在的Solution中。web端访问服务端跨域怎么了?有很大问题吗?

你去调用api就这样啊!只要一个api部署地址就ok了

 

收获园豆:5
~扎克伯格 | 小虾三级 |园豆:1923 | 2016-11-02 15:27

你说的这个应该是我想的 我只能按你这个先试试了 谢谢~

犇牛牛 | 园豆:31 (初学一级) | 2016-11-02 15:47

@犇牛牛: 不谢的,后续大家可以再互相交流

~扎克伯格 | 园豆:1923 (小虾三级) | 2016-11-02 15:55
其他回答(3)
0

mvc项目和webapi项目不是可以放一起的吗.

而且你可以写个后台webapi发布网站.然后mvc的后台调用webapi接口.没有跨域问题

收获园豆:4
吴瑞祥 | 园豆:29449 (高人七级) | 2016-11-02 15:08

谢谢回复,我知道MVC项目和webapi项目可以放一起

但是我现在想分层,就是webapi是单独一个项目进行发布,然后mvc也是单独一个项目发布,

那如果可以这样分层,是不是每次mvc页面部分数据呈现都需要先调用webapi接口(这个应该是http请求吧)

那这样的话是不是会存在超时问题或者其他效率问题? 感觉这种方案对于mvc项目不太好吧

感觉手机端的直接调用webapi接口比较好(就一次请求而已)

 

支持(0) 反对(0) 犇牛牛 | 园豆:31 (初学一级) | 2016-11-02 15:13

@犇牛牛: 并没有什么不好.

手机端调用的是对外的webapi项目.然后这个webapi项目一样调用mvc调用的那个webapi项目.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2016-11-02 15:20
0

你是担心各项目之间的数据互相效率吗?

 

收获园豆:1
盟怀部孩 | 园豆:878 (小虾三级) | 2016-11-02 15:23

我是想单独采用webapi作为数据接口 但是发现如果是用mvc项目去开发

那不是在controller代码里面要再去写一个访问webapi的请求 然后等待返回数据

然后再进行数据处理  感觉这种方式有点怪?不知道你理解我的意思没 所以我不确定这样设计合理?

或者是MVC直接通过DAL层获取数据,毕竟这样效率还是最高也最科学?

或者是我理解有问题,如果MVC和webapi再一个项目的话就不存在效率问题

 

支持(0) 反对(0) 犇牛牛 | 园豆:31 (初学一级) | 2016-11-02 15:37

@犇牛牛: 本来代码上面进行调用就没有问题的。两个项目放一起,网站和接口放一起,在满足业务量的情况下,是没有问题的,两个本身就是同一个东西。后台代码最好不要从自己的API里面来调东西,直接从DAL层取数据,不然本来需要自成体系的,却多出了不应该的关联。

支持(0) 反对(0) 盟怀部孩 | 园豆:878 (小虾三级) | 2016-11-02 16:11
0

同一个解决方案下,不同的项目啊

jiafeng | 园豆:208 (菜鸟二级) | 2016-12-02 14:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册