基于mvc的插件.网络核心?



几年来我一直在用c#开发Windows应用程序。对于web开发,我使用PHP。现在我想开始使用ASP.NET开发web应用程序。我的第一个Hello World项目正在运行,因此我正在计划我的第一个生产性应用程序。这个应用程序将提供几个"小的";(在第一步中)互不交互的独立应用程序。基础应用程序应该提供的唯一东西是用户管理(登录、角色、权限等)。

现在我的问题是有可能将这些较小的应用程序开发为库(例如DLL)并将它们加载到"主"应用程序?这意味着在库中同时拥有模型、视图和控制器。在网上,我还没有找到一个例子,包含所有这些部分在一个库。也许我只是没找对关键词。

如果这是可能的,我的下一个问题是,这样做是有意义的。我对你的帮助感到很高兴。

非常感谢。

您可以创建类库项目并将这些dll引用到您的主项目中。请参阅此链接:https://learn.microsoft.com/en-us/dotnet/core/tutorials/library-with-visual-studio?pivots=dotnet-6-0

参考文献

我发现这篇文章和这篇有一些相似之处。

查看此链接获取更多文档:https://learn.microsoft.com/en-us/dotnet/core/tutorials/library-with-visual-studio?pivots=dotnet-6-0

区域文档:https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/areas?view=aspnetcore-6.0

MVC模块作为库

通过dll分隔模块是有意义的。这是奇怪的,当你有几个内容已经在你的网站,你不想重新部署整个业务时,有些东西发生了变化。

然而,有一个更简单的方法来分离你的模块,提供一个更好的理解在你的网站上发生了什么,而你调试/开发:区域。

MVC区域. NET Core是一个复杂的主题,我建议你自己去研究。一些缺点是:

  • 帮助您分离网站内容。
  • 更容易映射路由
  • 当你需要开发中间件时,这是更好的。
  • 更容易调试,因为所有东西都在同一个项目中。

最后短短的

库在生产场景中很有用,因为停止服务可能会变得昂贵并损害您的业务。

. NET Core在MVC格式下工作得很好,这就是我使用它的方式。我在Java的Sprint Boot中使用MVC学到的很多东西都适用于ASP。净

例如:

  • 你的DTO/模型层是一个类库,谁的dll将被引用整个
  • 你的DAO层将是另一个类库,它可以包含接口和实现。将由服务层和单元测试引用
  • 服务层,另一个类库,将被控制器层和单元测试引用
  • 你的单元测试层将测试来自DAO和Service层的代码
  • 控制器层管理前端与后端交互。后端对象作为模型传递到前端,以便Razor在模板中使用
  • 在ASP。你的视图层被安置在预先制作的~/Views目录中,其javascript资源被安置在~/Content,~/Fonts等目录中。

这个MS教程的登陆页可能是一个很好的开始。

但是你不需要一个插件,你可以使用dotnet new mvc SolutionNameHere从cmd行与更多必要的标志,你想在基本的MVC格式生成它。在此基础上,设置模型、dao、服务和测试层,在整个过程中进行必要的引用,然后开始开发。前端层和控制层基本设置为你已经做了

最新更新