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

asp.net-mvc – 如何构建这个ASP.NET n层解决方案?

发布时间:2020-12-16 07:42:47 所属栏目:asp.Net 来源:网络整理
导读:我有一个问题,试图布局我的VS解决方案,我想要一些建议,请. 目前,我的解决方案布局如下所示: – Foo.ModelsFoo.RepositoriesFoo.ServicesFoo.Web (an ASP.NET MVC application) 我的网站(Foo.Web)调用Foo.Services命名空间上的各种方法.这里的想法是服务处理
我有一个问题,试图布局我的VS解决方案,我想要一些建议,请.

目前,我的解决方案布局如下所示: –

Foo.Models
Foo.Repositories
Foo.Services
Foo.Web (an ASP.NET MVC application)

我的网站(Foo.Web)调用Foo.Services命名空间上的各种方法.这里的想法是服务处理所有业务逻辑. Model命名空间只是POCO对象.存储库名称空间是自我解释的.

带接口的构造函数依赖注入处理什么层需要什么组件的黑魔法.

Problem: I wish to add some Windows
Workflow Foundation (WWF) code into
the solution,but put this WWF code in
the same Foo.Services.dll.

为此,我需要创建另一个类型为Workflow的项目.此工作流具有调用Foo.Services方法的活动.因此,我的网站现在必须调用服务方法或工作流方法来做事情.

我希望网站只调用Services命名空间来做东西.

毕竟,该服务是UI和业务逻辑IMO之间的主要接口.我在技术上使用WWF这一事实不应该成为IUI前端编码人员关注的问题.

因为工作流dll调用Services dll中的方法,所以由于循环依赖性,Services dll无法调用Workflow中的方法.

我也无法将所有工作流代码移到服务dll中,因为Services dll需要是一些特殊的项目类型(Windows Workflow类型).

那么..我不知道该怎么办?

我怎样才能使消费者只引用服务名称空间来处理业务内容,而且我在WWF中隐藏这些业务的事实对消费者来说是隐藏的?

我是否需要创建一个WWF项目并将我的所有服务代码移动到那里,扔掉旧的服务项目?这样做并非“听起来非常可重复使用”.如果我决定不使用WWF处理某些pipline操作并使用其他内容会发生什么?

这里有一些代码可以帮助解释.

HomeController.cs
public ActionResult Index()
{
   // StockService was created using constructor dependency injection.
   var viewData = _stockService.GetStocks(StockType.MostPopular);
   return (viewData)
}

StockService.cs
public class StockService : IStockService
{
    public IEnumerable<Stock> GetStocks(StockType stockType)
    {
        // Dependency Injection defines if the Pipeline is WWF
        // or something else (eg. plain ole functions).
        var stocks = _stockPipeline.GetStocks(stockType);

        // Cache result.

        // Update repostiory. (example of calling the repository)
        _sqlRepostiory.SaveSomeRandomData("Jon Skeet Was Here.");

        return stocks. // Returns a POCO.
    }
}

谢谢偷看.

解决方法

您是否看过Rob Connery的MVC Storefront / Kona项目?他正在做 a very similar thing with WF,他的项目是 laid out in a somewhat similar way.你正在做的事可能是 good guidance.我知道他确实与一些Workflow Foundation专家合作设计了他的集成.

(编辑:李大同)

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

    推荐文章
      热点阅读