首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WebApi和MVC控制器之间的共享逻辑?

WebApi和MVC控制器之间的共享逻辑?
EN

Stack Overflow用户
提问于 2013-12-17 23:37:56
回答 2查看 2.5K关注 0票数 5

我的应用程序有MVC控制器和WebApi控制器。到目前为止,我已经能够将控制器之间的任何共享逻辑分别推入BaseControllerBaseApiController中。

现在,我遇到了API控制器和MVC控制器都在做同样的事情--注册一个新的用户帐户。这个过程有点复杂,因为我有一个多租户应用程序,如下所示:

代码语言:javascript
运行
复制
// MVCController : BaseController
public ActionResult Register(RegisterModel model) {
      // see if the model is valid
      // check and make sure the credentials check out with policy requirements
      // add the user to the user table if they aren't already there
      // create a tenancy
      // assign cookie
 }

大多数实际工作都被推入服务层,但是调用和条件占用了大约20行代码,我不希望将它们复制和粘贴到类似的WebApi控制器中。

因此,我想知道我是否可以让我的BaseControllerBaseApiController从一个通用控制器继承,在那里我可以放置这个auth代码。这里推荐的方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-18 00:41:56

除非我在你的问题中遗漏了什么,否则我会把这段代码重构成一个生活在你的UI项目中的Util类。然后您的MVC控制器和WebAPI控制器都可以调用它。

这种方法符合组合重于继承设计原则的要求.

票数 5
EN

Stack Overflow用户

发布于 2013-12-17 23:41:16

如果您不能将逻辑移到它自己的库中,然后共享它,那么我可能会看到如何从mvc调用web。有关这样做的示例,请参阅本文:https://stackoverflow.com/a/13206631/426422

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20646909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档