ASP.Net体系结构解决方案/建议

bp581

作为应用程序体系结构的一部分,我们有3个组件:ASP.Net Web,WCF服务和Windows服务。

  1. ASP.Net Web应用程序调用WCF执行任务。

  2. WCF实习生触发正在运行的Windows服务来执行任务。Windows服务实习生会打开多个线程来执行任务。

  3. Windows服务使用任务的进度状态更新数据库,并且Web应用程序将状态更新读取给用户。Web应用程序是由独立的团队开发的,而其他团队则负责WCF和Windows服务。

开发Windows服务而不仅仅是WCF的原因是由于需要在任务完成过程中打开多个线程。由于WCF只能用作火灾,并且会从Web应用程序中遗忘,因此其他团队决定使用Windows Service。同样(根据其他团队的研究),退出WCF中的任务时不可能关闭所有线程。

  1. 这是一个好的架构吗?
  2. 可以调用Windows服务从WCF中执行任务吗?
  3. 是否可以在不使用Windows Service的情况下构造此应用程序?
汤姆·雷德芬

这是一个好的架构吗?

同意其他评论者的意见,您可以使用hangfire之类的东西在ASP.NET中完成整个解决方案,以处理后台任务。

我在当前项目中已使用此框架来处理各种类型的长时间运行的任务,并且坚如磐石,特别是与某种客户端通知库(例如,角度烘烤)结合在一起以指示后台任务的状态。

可以调用Windows服务从WCF中执行任务吗?

从技术上讲,这没有什么不对劲的,但是您最好将WCF服务托管在Windows服务中,而不是将它们分开。只是另一个动静部分,没有任何实际收益。

是否可以在不使用Windows服务的情况下构造此应用程序?

看上面。

来自评论:

不幸的是,从asp.net应用程序启动的任务可能会持续10分钟到1小时以上

我们的一些后台任务耗时超过30分钟,尽管没有一项花费一个小时。虽然不能保证IIS辅助线程会徘徊足够长的时间来完成任务,但是hangfire提供了一个铁腕保证,即无意中卸载的任务将重新运行并最终成功。这是自动的,不需要额外的配置。

用户还需要获取任务进度的状态更新。

正如我在原始答案中所说,我们正在通过客户端轮询实时提供状态指示(作业类型,经过的时间,预期的完成时间等)。我们实际上轮询了hangfire数据库(不是推荐的方法,但是对我们来说足够安全),但是您也可以在内存中单击hangfire作业管理器以检索此信息(这是推荐的方法)。

看起来HangFire更像是火与遗忘

Hangfire绝对是一劳永逸的事情,但这就是使它健壮的原因,并且应该是任何后台任务运行程序实现的功能。在我看来,等待某种完成回调事件是棘手且不愉快的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ASP.Net 5:解决方案体系结构

来自分类Dev

就解决方案体系结构而言,ASP.NET Web API在哪里适合?

来自分类Dev

ASP.NET MVC 5,身份,Unity容器解决方案体系结构

来自分类Dev

ASP.NET MVC n层体系结构-最佳解决方案

来自分类Dev

C#实体框架/ ASP.NET REST和模型设计模式或解决方案体系结构

来自分类Dev

ASP.NET 5的解决方案结构

来自分类Dev

带有ASP.NET Web Api建议的SOA样式体系结构

来自分类Dev

ASP MVC解决方案结构

来自分类Dev

有关如何自动部署ASP.NET解决方案的建议?

来自分类Dev

Asp.Net多层体系结构类库参考

来自分类Dev

ASP.NET Web.Api插件体系结构

来自分类Dev

ASP.NET MVC开发分层体系结构

来自分类Dev

干净的体系结构和Asp.Net核心标识

来自分类Dev

新的ASP.Net MVC项目的体系结构

来自分类Dev

ASP.NET Web.Api插件体系结构

来自分类Dev

ASP.NET MVC开发分层体系结构

来自分类Dev

了解TOGAF中的体系结构与解决方案

来自分类Dev

了解TOGAF中的体系结构与解决方案

来自分类Dev

基于OData / Web API的.Net项目的解决方案体系结构

来自分类Dev

我的asp.net MVC解决方案需要一个缓存解决方案

来自分类Dev

什么时候可以使用企业体系结构框架来记录解决方案体系结构?

来自分类Dev

什么时候可以使用企业体系结构框架来记录解决方案体系结构?

来自分类Dev

没有存储库模式的ASP.Net MVC和实体框架项目体系结构

来自分类Dev

将ASP.NET身份与核心域模型分离-洋葱体系结构

来自分类Dev

具有多个项目的ASP.NET MVC体系结构中的依赖注入

来自分类Dev

使用ASP.NET 5(MVC 6)的N层体系结构

来自分类Dev

ASP.Net MVC 4项目文件夹体系结构

来自分类Dev

3层体系结构中的ASP.NET成员资格提供程序实现

来自分类Dev

在asp.net中创建3层体系结构的最佳实践

Related 相关文章

  1. 1

    ASP.Net 5:解决方案体系结构

  2. 2

    就解决方案体系结构而言,ASP.NET Web API在哪里适合?

  3. 3

    ASP.NET MVC 5,身份,Unity容器解决方案体系结构

  4. 4

    ASP.NET MVC n层体系结构-最佳解决方案

  5. 5

    C#实体框架/ ASP.NET REST和模型设计模式或解决方案体系结构

  6. 6

    ASP.NET 5的解决方案结构

  7. 7

    带有ASP.NET Web Api建议的SOA样式体系结构

  8. 8

    ASP MVC解决方案结构

  9. 9

    有关如何自动部署ASP.NET解决方案的建议?

  10. 10

    Asp.Net多层体系结构类库参考

  11. 11

    ASP.NET Web.Api插件体系结构

  12. 12

    ASP.NET MVC开发分层体系结构

  13. 13

    干净的体系结构和Asp.Net核心标识

  14. 14

    新的ASP.Net MVC项目的体系结构

  15. 15

    ASP.NET Web.Api插件体系结构

  16. 16

    ASP.NET MVC开发分层体系结构

  17. 17

    了解TOGAF中的体系结构与解决方案

  18. 18

    了解TOGAF中的体系结构与解决方案

  19. 19

    基于OData / Web API的.Net项目的解决方案体系结构

  20. 20

    我的asp.net MVC解决方案需要一个缓存解决方案

  21. 21

    什么时候可以使用企业体系结构框架来记录解决方案体系结构?

  22. 22

    什么时候可以使用企业体系结构框架来记录解决方案体系结构?

  23. 23

    没有存储库模式的ASP.Net MVC和实体框架项目体系结构

  24. 24

    将ASP.NET身份与核心域模型分离-洋葱体系结构

  25. 25

    具有多个项目的ASP.NET MVC体系结构中的依赖注入

  26. 26

    使用ASP.NET 5(MVC 6)的N层体系结构

  27. 27

    ASP.Net MVC 4项目文件夹体系结构

  28. 28

    3层体系结构中的ASP.NET成员资格提供程序实现

  29. 29

    在asp.net中创建3层体系结构的最佳实践

热门标签

归档