asp.net-mvc – ASP.NET MVC 5,Identity,Unity容器解决方案架构
假设ASP.NET MVC 5和OWIN / Identity成员资格的Web项目. IoC完成了Unity.现在一切都在一个项目内.
问题:将MVC,Idenity和IoC分离到隔离项目并将Identity封装到某些IAccountService中以便Unity在MVC项目中解析是否有意义? 问题似乎很愚蠢,但我的橡皮鸭保持沉默的原因不明,有什么猜测吗? 我想实现的目标看起来像这样 ASP.NET MVC(OWIN) – > IoC(Unity) – > AccountServiceImpl – >身分 MVC,IoC – >合同(IAccountService) 哪里 – >是一个项目参考 我需要它能够更改IoC容器,我还需要通过接口从另一个项目访问身份数据 解决方法
是的,将您的解决方案分成较小的项目(如MVC,Identity和IoC)是安全的.
至少,这是我的简短回答. 是否有意义?长的答案有点复杂.在解决解决方案和项目架构之前,我已经回答了一些类似的问题: > where should the interfaces be defined? 在上面的答案中,我解释说
Jeffrey Palermo鼓励使用Onion Architecture.在part 4 of his article on Onion Architecture,Jeffrey提供了具有以下结构的example solution >核心 但是,Jimmy Bogard有点不同意我和我的做法. 在Evolutionary Project Structure,吉米解释说:
实际上,Jimmy将他以前首选的解决方案架构风格描述为类似于我上面提到的风格. 吉米进一步说“决定项目结构是浪费时间和精力”.他实际上更喜欢更简单的解决方案结构.也就是说,很少. 虽然吉米说明了他的立场:
(强调我的) 如果您有其他应用程序需要参考您的MVC解决方案的各个方面,将它们分成自己的项目可能很有意义,以便您可以轻松地引用它们. 我想我们应该得出的结论是: 解决方案架构不是规则或法律.在有意义的地方分开项目. 确保您的解决方案易于维护并易于被他人理解.不要过度复杂化您的解决方案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 部分视图继承自主布局
- asp.net – asp .net mvc OnResultExecuting modify filter
- asp.net-mvc – 来自SignalR的这些轮询请求来自哪里?
- asp.net mvc c#获取页面的url来自
- asp.net-mvc-4 – ASP.NET MVC 4通过ActionLink传递对象变量
- asp.net-core – 在ASP.NET Core中使用Entity Framework 6
- asp.net-mvc – 如何在单个页面中使用两个AntiForgeryToken
- 学习ASP.NET Core,你必须了解无处不在的“依赖注入”
- 什么是ASP.NET vNext?
- asp.net-identity – IIdentity.Name与IIdentity.GetUserNa