参考 Abp vNext框架 从空项目开始 使用ASP.NET Core Web Application http://www.vnfan.com/helinbin/d/745b1e040c9b4f62.html rynowak的回答 https://github.com/aspnet/AspNetCore/issues/9542 Migrate from ASP.NET Core 2.2 to 3.0 -> Use MVC without Endpoint Routing https://do…
我们在做某件事情的时候,一般需要详细了解它的特点,以及内在的逻辑关系,一旦我们详细了解了整个事物后,就可以通过一些辅助手段来提高我们的做事情的效率了.本篇随笔介绍ABP VNext框架各分层项目的规则,以及结合代码生成工具Database2Sharp来实现项目类代码,项目文件等内容的快速生成. ABP VNext框架在官方下载项目的时候,会生成一个标准的空白项目框架,本代码工具不是替代这个项目代码生成,而是基于这个基础上进行基于数据表的增量式开始模块的需求(毕竟官方没有针对数据表的项目代码生成)…
公司效益好了,准备和国外做生意,这个时候就需要多语言了. > 1. 这是一个ASP.NET Core Web多语言项目,主要展示项目的不同: > 2. 第一种:www.xxx.com/en/index; www.xxx.com/zh/index; ,这种事通过路由来处理的 > 3. 第二种: www.xxx.com/index/en; www.xxx.com/index/zh ,这种可以用cookie保存,通过cookie来判断 > 4. 第三种:www.en.xxx.com; w…
参考 Abp vNext框架 应用程序开发教程 创建项目和书籍列表页面 http://www.vnfan.com/helinbin/d/3579c6e90e1d23ab.html 官方源码 https://github.com/abpframework/abp/tree/dev 开发环境 vs2019 .net core 3.0 本人没有使用模板页下载工程, 直接使用下载的源码, 而下载的BookStore实例的工程引用,编译 爆了. 于是花了一整天设置工程. 把源码里的下三个工程项目单独添加到…
在我较早的时候,就开始研究和介绍ABP框架,ABP框架相对一些其他的框架,它整合了很多.net core的新技术和相关应用场景,虽然最早开始ABP框架是基于.net framework,后来也全部转向拥抱.net core,而另一条线的ABP VNext则是定位从.net core开始的,基础类库以Volo.Abp开始.ABP框架和ABP VNext框架两者在基类和分层上,都很多几乎是一样的,不过ABP VNext框架是后来者,规避了很多前辈ABP框架的一些缺点,最明显的就是更加模块化(弊端就是…
ABP VNext框架如果不考虑在微服务上的应用,也就是开发单体应用解决方案,虽然也是模块化开发,但其集成使用的难度会降低一个层级,不过ABP VNext和ABP框架一样,基础内容都会设计很多内容,如数据库都支持Oracle.SQLServer.MySql.PostgreSQL.SQLite,都有利用Redis作为分布式缓存,使用RabbitMQ作为事件总线的消息处理方式,使用MongoDB的NoSQL类型数据库作为特殊数据的存储服务,使用Quartz/HangFire作为定时任务的处理等.如果…
在ABP VNext框架中,即使在它提供的所有案例中,都没有涉及到Winform程序的案例介绍,不过微服务解决方案中提供了一个控制台的程序供了解其IDS4的调用和处理,由于我开发过很多Winform项目,以前基于ABP框架基础上开发的<ABP快速开发框架>中就包含了Winform客户端,因此我对于ABP VNext在Winform上的使用也比较关心,花了不少时间来研究框架的相关的授权和窗体构建处理上,因此整理了该随笔内容,主要用于介绍ABP VNext框架中Winform终端的开发和客户端授权…
在ABP VNext框架中,HttpApi项目是我们作为Restful格式的控制器对象的封装项目,但往往很多案例都是简单的继承基类控制器AbpControllerBase,而需要在每个控制器里面重写很多类似的Create/Update/Delete/Get/GetList等常规Restful接口的调用,千篇一律的重复,本篇随笔介绍如何对这些内容通过基类的方式实现,子类无需重复代码,并且强类型所有的接口实现. 1.Restful接口的CRUD实现 在我们使用HttpApi项目进一步封装ABP VN…
前面介绍了一些ABP VNext架构上的内容,随着内容的细化,我们会发现ABP VNext框架中的Entity Framework处理表之间的引用关系还是比较麻烦的,一不小心就容易出错了,本篇随笔介绍在ABP VNext框架中处理和用户相关的多对多的关系处理. 我们这里需要在一个基础模块中创建一个岗位管理,岗位需要包含一些用户,和用户是多对多的关系,因此需要创建一个中间表来放置他们的关系,如下所示的数据库设计. 这个是典型的多对多关系的处理,我们来看看如何在在ABP VNext框架中处理这个关系…
原文:ASP.NET Core 新建项目 - macOS 环境 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 新建项目 - macOS 环境 对于任何语言和框架,都是从 Hello World 开始的,这个非常简单,但却有十分重大的意义,ASP.NET Core 基础教程也会以 Hello World 开始 为什么呢? 因为能够运行 Hello World 成功,那意味着之前我们配置的环境就是成功的,否则就要就是配置失败 创建一个 Hello Worl…
一个月前,公司的运行WCF的windows服务器down掉了,由于 AWS 没有通知,没有能第一时间发现问题. 所以,客户提出将WCF服务由C#改为JAVA,在Linux上面运行:一方面,AWS对Linux有较多的监控措施,另一方面,假如出现问题,可以设置自动重启等服务. 老旧的WCF服务 目前WCF服务,主要提供windows桌面软件的数据接口,应该有五六年的历史了.我进入公司后,WCF服务的代码,一直由我一个人来维护.存在很多历史遗留问题,也有不同版本的共存. 如果java重写的话,其中的业…
一.前言 这几年前端的发展速度就像坐上了火箭,各种的框架一个接一个的出现,需要学习的东西越来越多,分工也越来越细,作为一个 .NET Web 程序猿,多了解了解行业的发展,让自己扩展出新的技能树,对自己的职业发展还是很有帮助的.毕竟,现在都快到9102年了,如果你还是只会 Web Form,或许还是能找到很多的工作机会,可是,这真的不再适应未来的发展了.如果你准备继续在 .NET 平台下进行开发,适时开始拥抱开源,拥抱 ASP.NET Core,即使,现在工作中可能用不到. 雪崩发生时,没有一片…
List多个字段标识过滤 class Program{  public static void Main(string[] args) { List<T> list = new List<T>(); list.Add(new T() { orderid = 1, houseid = 1 }); list.Add(new T() { orderid = 1, houseid = 1 }); list.Add(new T() { orderid = 1, houseid = 2 });…
C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩,类似winrar,可以选择是否排除基准目录 1 public void ZipDirectoryTest() 2 { 3 string path = System.IO.Path.Combine(System.IO.Path.GetTempPath(), DateTime.Now.Ticks.ToS…
原文:ASP.NET Core 项目配置 ( Startup ) - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 项目配置 ( Startup ) 前面几章节中我们已经介绍和使用过 Startup 类,包括 在创建新项目时修改了 Startup 类中的 Hello World 修改返回值 上一章节中讲解 Program.cs 时讲到 Program 类会实例化 Startup 类 但 Startup 能做的不仅仅是这些,可以说 ASP.NET Core…
原文:ASP.NET Core 基本项目目录结构 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 基本项目目录结构 上一章节中我们成功创建了一个名为 HelloWorld 的 ASP.NET Core 2.1 空项目.通过这个项目,我们可以了解 ASP.NET Core 的基本目录结果和文件构成 项目结构 我们再来看看 HelloWorld 项目的结构,打开解决方案对话框,展开所有的目录,我们可以看到如下结构 这是一个非常简洁的结构,也是 ASP.NET…
前言 软件系统中总是希望做到松耦合,项目的组织形式也是一样,本篇文章将介绍在ASP.NET CORE MVC中怎么样将Controller与主网站项目进行分离,并且对Areas进行支持. 实践 1.新建项目 新建两个ASP.NET Core Web应用程序,一个命名为:WebHostDemo 另一个名为: Web.Controllers ,看名字可以知道第一个项目是主程序项目,第二个是存放Controller类和Areas的项目. 2.修改Mvc配置 在WebHostDemo项目中修改Confi…
之前asp.net web项目在部署IIS站点的时候可以直接选择项目目录,不用发布,然后附加进程的时候,找到w3wp.exe开头的进程,再根据用户名找到要附加的进程,就可以附加进程调试了.但asp.net core web项目要发布后,才能部署到IIS上,然后就不知道怎么附加进程了.网上看了好多方法,终于解决了. 发布之后,部署到IIS了,就会有个dotnet开头的进程,根据用户名找到要附加的进程,然后就和以前的操作一样了.…
特地记录一下,网上的教程写的稀里糊涂的,整得我都心塞塞的,其实实现的过程蛮简单的 问题是这样的:我将Vue构建生成好的文件,放在后端wwwroot文件里面,并开启静态文件访问功能,结果总是无法显示相应的Vue页面,其原因在于路径没有带#,导致路由失败 网上找了很久,很少有这么搭建项目的教程,还是记录一下,算是铺路叭~ 后端:Asp.NET Core Web API,版本是 .NET 6 前端:Vue 3 + Vite 后端WebAPI部分: 1) Program.cs 在app.UseHttps…
译注: ABP的主要负责人hikalkan最近又发布了一篇博客, 说明了ABP vNext的微服务演示,项目状态和路线图.其中特意对ABP的中文社区进行了感谢! 本文翻译自该博客文章(https://abp.io/blog/abp/Microservice-Demo-Projects-Status-and-Road-Map). 微服务演示,项目状态和路线图 在ABP vNext上的第一个公告之后,我们对代码库进行了很多改进(GitHub存储库上的1100多次提交).我们已经创建了功能,示例,文档…
学习目标 框架特点 基于.NET 5平台开发 模块化系统 极少依赖 极易扩展 ....... 框架目的 学习.NET 5平台 学习abp vnext 上图大部分功能已经实现,多数是参考(copy)abp vnext的,但是仅仅用于学习目的. 在abp vnext基础上,做了更多精简和封装,使其更加独立,方便抽离封装. 动态WebApi是使用Furion框架的,按照自己习惯进行了少量修改,还有其他很多思想借鉴(copy)于此,特此感谢. 解决方案 目录结构 Vop项目 为了减少包个数,将所有核心功…
介绍 我很早之前一直在做mvc5 scaffolder的开发功能做的已经非常完善,使用代码对mvc5的项目开发效率确实能成倍的提高,就算是刚进团队的新成员也能很快上手,如果你感兴趣 可以参考 http://neozhu.github.io/MVC5-Scaffolder/#/  https://github.com/neozhu/MVC5-Scaffolder 但是mvc5 scaffolder 有一个致命的弱点,无法通过升级的方式支持.net core mvc 项目,而asp.net core…
一.创建一个空项目 请查看 新建 .NET Core 项目 -- Hello World! 一节,新建一个项目:    二.添加引用并修改配置为 Web API (.NET Core 已将 MVC/Web API 底层代码及表层编程接口合二为一) 修改 .vscode\launch.json 文件 代码如下: { "version": "0.2.0", "configurations": [ { "name": ".…
前言 58HouseSearch这个项目原本是基于ASP.NET MVC 4写的,开发环境是Windows+VS2015,发布平台是linux+mono+jexus,这样看来整个项目基本已经满足跨平台的需求. 这样一来,本来我是没什么动力去做迁移的,好好的东西闲着没事干才迁移呢. 不过,这不国庆了么?穷人不是在家穷游天下么?所以…真的有点闲着没事干了. 迁移可行性探讨 项目迁移前,我们还是先来讨论一下迁移可行性.为嘛要进行可行性探讨呢?原因是.NET CORE是一个跨平台的框架,和上一代的.NE…
项目开发中的一些注意事项以及技巧总结   1.jquery采用ajax向后端请求时,MVC框架并不能返回View的数据,也就是一般我们使用View().PartialView()等,只能返回json以及content等,但是一般我们在开发的时候也是使用json返回的,此时如果需要渲染界面或者是加载局部视图,我们可以在ajax的success的事件中使用$.html()来渲染后台给前端传的View()数据.一开始我遇到这个问题的时候还很纳闷,为什么ajax给后端穿了POST之后,不能加载局部页面,…
前言: 本系列文章主要为对所学 Angular 框架的一次微小的实践,对 b站页面作简单的模仿. 本系列文章主要参考资料: 微软文档: https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/?view=aspnetcore-2.1&tabs=windows Angular 文档:  https://angular.cn/tutorial Typescript 文档: https://www.typescriptlang.org/…
背景 接上一篇,放弃了 asp.net core + gRPC 的方案后,我灵光一闪,为什么不用 web api 呢?不也是 asp.net core 的吗?虽然 RESTful 不是强约束,客户端写起来也麻烦,但还是可以满足基本需求,避免大幅修改旧有的业务逻辑代码. 在网上找到相当多的文章,比较 gRPC 和 RESTful 的优缺点,结论都是 gRPC 推荐用作内部系统间调用, RESTful 推荐用作对外开放接口. 选择 RESTful 另一个最重要的原因是,gRPC 的底层框架需要HTT…
ASP.NET Core应用本质上就是一个由中间件构成的管道,承载系统将应用承载于一个托管进程中运行起来,其核心任务就是将这个管道构建起来.从设计模式的角度来讲,"管道"是构建者(Builder)模式最典型的应用场景,所以ASP.NET Core先后采用的三种承载方式都是采用这种模式.(本篇提供的实例已经汇总到<ASP.NET Core 6框架揭秘-实例演示版>) [S1501]基于IWebHost/IWebHostBuilder的应用承载方式(源代码) [S1502]将初…
ASP.NET Core中默认的ASP.NET Core 模板中有Web API 模板可以创建Web API项目. 有时,只需要创建一个API,不需要关心Razor,本地化或XML序列化.通过删除无用的NuGet软件包和代码,可以提高 API 的加载时间并减少部署包大小. 新建项目 打开VS2017 新建一个ASP.NET Core 应用程序 (.NET Core)项目,命名为miniwebapi.确定后选择Web API 模板,并将"身份验证"设置为"不进行身份验证&quo…
Connected Services 和传统.net web项目相比,它的功能类似于添加webservice或者wcf service的引用.暂时用不到,有兴趣的小伙伴可以深入了解.右键这个目录可以看到我们可以添加一些服务,包括云服务. Properties 这个目录下会有一个launchSettings.json文件.顾名思义,保存的是启动时需要的相关信息,包括环境变量,URL和开发端口等.这个文件在开发环境有用,用于配置调试环境.发布的时候,这个文件不会随着一起发布. 看上图,IDE vs2…