加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 设计选择:WCF还是服务堆栈?

发布时间:2020-12-16 07:44:59 所属栏目:asp.Net 来源:网络整理
导读:我有三个核心应用程序,它们有自己的业务功能(网络,活动目录和帮助台).每个都运行ASP.NET v2或v3,并拥有各自的数据库.但是,应用程序功能已经合并了一些,因此在每个应用程序和应用程序逻辑中都会重新创建模型.所以现在我有一些难以维护的代码.所以这是我的问题
我有三个核心应用程序,它们有自己的业务功能(网络,活动目录和帮助台).每个都运行ASP.NET v2或v3,并拥有各自的数据库.但是,应用程序功能已经合并了一些,因此在每个应用程序和应用程序逻辑中都会重新创建模型.所以现在我有一些难以维护的代码.所以这是我的问题:

>将我的模型和存储库移植到WCF是这种架构的合理选择吗?
>使用服务堆栈如序列化的json调用是一个更好的选择吗?我想这会比设置一个中央wcf应用程序更快.

我不太熟悉asp.net mvc网络应用程序之间的通信,所以请指出我正确的方向.

解决方法

我建议开发一个 service layer per the design pattern described by Fowler.这个服务层封装了各种域模型和存储库,并处理不同域/模型之间的交互.这将是一个程序集,而不是WCF或任何其他类型的Web服务.如果您需要WCF Web服务,那么它将是一个非常薄的层,它基本上具有模仿服务层的合同,并且唯一的目的是提供Web服务接口或API.

MVC应用程序可以通过两种方式与您的服务层进行交互.如果要在控制器中创建视图模型,则可以直接访问服务层程序集.通过在这种情况下很可能不需要的Web服务调用它会增加额外的开销.使用这种方法,服务层几乎就是MVC三重奏中的模型.

访问服务层的另一种方法是使用AJAX进行富客户端的Views / client.在这种情况下,您将使用MVC在服务层之上放置REST API,以便您可以使用类似JQuery之类的AJAX POST直接向Web服务更新和检索网页数据.

请注意,使用此架构,您可以结合使用这两种方法.您可以直接从Controller访问服务层以呈现一些初始页面,然后在用户交互期间使用Web服务REST接口进行AJAX调用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读