【问题标题】:ASP.Net 5 vNext Middleware for modular websites用于模块化网站的 ASP.Net 5 vNext 中间件
【发布时间】:2015-10-06 10:43:39
【问题描述】:

我刚刚开始学习新版本的 ASP.Net 5,此时我已经对他们引入的所有新功能印象深刻。我最期待的是内置DI系统。

目前我在一家拥有大约 15 个站点的公司工作,所有站点的结构几乎都相似,但每个站点都很少有单独的东西。

因此,我计划使用 vNext 的新功能为我们的网站制作某种迷你 CMS,例如 PRISM 中的模块化。

现在,我正在尝试制作一些基本的中间件(如商店、服务、博客、聊天或其他),但我被困在这里。

问题 1:可以使用中间件作为具有自己的路由、控制器、管理面板扩展等的站点的独立模块吗?

如果 - 是,那么...

问题2:如何处理来自中间件Invoke方法的路由请求?

我在http://docs.asp.net 阅读了目前可用的所有文档,但那里使用的中间件示例非常简单,不足以开始编写用于实际应用程序的中间件。

编辑 1: 我想知道,中间件是否可以像 PRISM 中的 IModule 一样工作?

在 PRISM 中,我在 IModule 中注册类型和视图,它就像所有模块组件的粘合剂。例如:我有基于 PRISM 的应用程序,模块很少:会计、产品、文档、邮件等。每个模块都有自己的模型、视图模型、视图等,几乎每个模块都可以解耦或修改而不影响另一个模块。每个人都在做自己的工作,但并不真正了解其他模块。

我正在尝试了解是否可以使用 vNext 为 web 做类似的事情。例如:Blog 模块不需要了解Store。

那么,我可以为每个需要的模块创建单独的类库,并像在 PRISM 中使用 IModule 一样使用中间件吗?

附: 任何示例将不胜感激。 提前致谢。

【问题讨论】:

    标签: c# asp.net asp.net-core middleware modularity


    【解决方案1】:

    ASP.NET 中的中间件替换了 http 模块。 你不能建造

    商店、服务、博客、聊天或其他任何东西

    使用 http 模块(或中间件)。它们在 http 请求的上下文中工作。

    您所说的模块是更高层次的概念。 这是不同层次的抽象。

    回答您的问题:

    1. 它们不是您想要的模块类型。没有
    2. MVC 中间件已处理路由。我认为你不需要重新实现这一点。就用它吧。

    【讨论】:

    • 哦不,我不想重写 MVC,这会很痛苦......我正在寻找一种能够从中间件处理我的东西的方法......在我的脑海中中间件看起来像 PRISM 中的 IModule,但我可能错了
    猜你喜欢
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    相关资源
    最近更新 更多