-
在Entity Framework中使用存储过程(一):实现存储过程的自动映
所属栏目:[asp.Net] 日期:2020-12-16 热度:112
之前给自己放了一个比较长的假期,在这期间基本上没怎么来园子逛。很多朋友的留言也没有一一回复,在这里先向大家道个歉。最近一段时间的工作任务是如何将ADO.NET Entity Framework 4.0(以下简称EF)引入到我们的开发框架,进行相应的封装、扩展,使之成为[详细]
-
为ASP.NET MVC创建一个基于Unity的ControllerFactory
所属栏目:[asp.Net] 日期:2020-12-16 热度:160
谈到IoC和ASP.NET的集成,很多人会先后想到Ninject,不过我们个人还是倾向于Unity。这篇文章简单地介绍如果创建基于Unity的ControllerFactory。如下面的代码所示,我们通过直接继承DefaultControllerFactory创建一个自定的UnityControllerFactory。构造函数[详细]
-
如何编写没有Try/Catch的程序
所属栏目:[asp.Net] 日期:2020-12-16 热度:163
在上面一篇文章《谈谈关于MVP模式中V-P交互问题》中,我提到最近一直为一个项目进行Code Review的工作,从中发现了一些问题,同时也有了一些想法。上次谈到如何正确编写服务MVP规范的程序,这次我们来关注一个我们每天都会面对的问题:异常处理。 一、异常处[详细]
-
如何在调用WCF服务之前弹出一个确认对话框?
所属栏目:[asp.Net] 日期:2020-12-16 热度:133
昨天有人在微博上问我如下一个问题: 老蒋,客户端调用wcf的一个接口函数时,有没有什么办法可以先弹出一个确认框,确认后再执行调用。因为这个接口函数再很多地方都执行了调用,所以我想在某个入口进行统一地弹出一个确认框... 其实这个问题可以通过WCF的扩[详细]
-
WCF技术剖析之三十:一个很有用的WCF调用编程技巧[上篇]
所属栏目:[asp.Net] 日期:2020-12-16 热度:126
在进行基于会话信道的WCF服务调用中,由于受到并发信道数量的限制,我们需要及时的关闭信道;当遇到某些异常,我们需要强行中止(Abort)信道,相关的原理,可以参考我的文章《服务代理不能得到及时关闭会有什么后果?》。在真正的企业级开发中,正如我们一般[详细]
-
在ASP.NET MVC中通过URL路由实现对多语言的支持
所属栏目:[asp.Net] 日期:2020-12-16 热度:163
对于一个需要支持多语言的Web应用,一个很常见的使用方式就是通过请求地址来控制界面呈现所基于的语言文化,比如我们在表示请求地址的URL中将上语言文化代码(比如en或者en-US)来指导服务器应该采用怎样的语言来显示界面的内容。对于一个ASP.NET MVC应用来[详细]
-
[ASP.NET Web API]如何Host定义在独立程序集中的Controller
所属栏目:[asp.Net] 日期:2020-12-16 热度:166
通过《ASP.NET Web API的Controller是如何被创建的?》的介绍我们知道默认ASP.NET Web API在Self Host寄宿模式下用于解析程序集的AssembliesResolver是一个DefaultAssembliesResolver对象,它只会提供 当前应用程序域已经加载的程序集 。如果我们将HttpContr[详细]
-
深入理解C# 3.x的新特性(2):Extension Method[上篇]
所属栏目:[asp.Net] 日期:2020-12-16 热度:97
在C#3.0中,引入了一些列新的特性,比如: Implicitly typed local variable,Extension method,Lambda expression,Object initializer,Anonymous type,Implicitly typed array,Query expression,Expression tree . 个人觉得在这一系列新特性的,最具创新意义[详细]
-
如何实现IIS 7.0对非HTTP协议的支持
所属栏目:[asp.Net] 日期:2020-12-16 热度:94
在《再谈IIS与ASP.NET管道》介绍各种版本的IIS的设计时,我们谈到IIS 7.0因引入WAS提供了对非HTTP协议的支持。这个对于WCF的服务寄宿来说意义重大,它意味着我们通过IIS/WAS寄宿的服务终结点不仅仅可以采用BasicHttpBinding、WSHttpBinding/WS2007HttpBindin[详细]
-
ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系
所属栏目:[asp.Net] 日期:2020-12-16 热度:58
ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的。如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间件的意义在于实现请求路径与对应HttpHandler之间的映射关系。对于传递给RouterMiddleware中间件的每一个[详细]
-
.net core 中的经典设计模式的应用
所属栏目:[asp.Net] 日期:2020-12-16 热度:115
.net core 中的经典设计模式的应用 Intro 前段时间我们介绍了23种设计模式,今天来分享一下 .net core 源码中我觉得比较典型的设计模式的应用 实例 责任链模式 asp.net core 中间件的设计就是责任链模式的应用和变形, 每个中间件根据需要处理请求,并且可以[详细]
-
消除代码中的坏味道,编写高质量代码
所属栏目:[asp.Net] 日期:2020-12-16 热度:135
消除代码中的坏味道,编写高质量代码 Intro 想要写出较好的代码,保证代码的高质量需要时刻警惕代码中的坏味道,今天分享一下,我觉得平时写的代码中可能会出现的坏味道代码的一些示例 常见的坏味道代码 Bug Logically(null check etc.) 严格的来说,这可能[详细]
-
nuget 包是如何还原的
所属栏目:[asp.Net] 日期:2020-12-16 热度:122
nuget 包是如何还原的 Intro 一直以来从来都只是简单的用 nuget 包,最近想折腾一个东西,需要自己搞一个 nuget 包的解析,用户指定 nuget 包的名称和版本,然后去解析对应的 nuget 包并添加引用到项目, 于是就想搞明白 nuget 包是怎么还原的,对于本地已经[详细]
-
使用 C# 捕获进程输出
所属栏目:[asp.Net] 日期:2020-12-16 热度:99
使用 C# 捕获进程输出 Intro 很多时候我们可能会需要执行一段命令获取一个输出,遇到的比较典型的就是之前我们需要用 FFMpeg 实现视频的编码压缩水印等一系列操作,当时使用的是 FFMpegCore 这个类库,这个类库的实现原理是启动另外一个进程,启动 ffmpeg 并[详细]
-
WPF 从 .net core 3.1到 .net 5.0
所属栏目:[asp.Net] 日期:2020-12-16 热度:79
WPF 从 .net core 3.1 到 .net 5.0 Intro 昨天更新了一个简单的 asp.net core webapi 项目,从 3.1 更新到了 5.0,今天更新一个 WPF 应用到 net 5.0 项目文件更新 首先项目文件中的 SDK 发生了变化,原来是 Microsoft.NET.Sdk.WindowsDesktop 更新后变为 Mic[详细]
-
如何写一段死锁代码
所属栏目:[asp.Net] 日期:2020-12-16 热度:197
如何写一段死锁代码 Intro 上次介绍了如何写一段代码造成 StackOverflow ,今天来玩一下,看如何写一段代码造成死锁 什么是死锁 首先我们需要明确一下什么是死锁,造成死锁需要满足哪些条件,知道这些就可以轻松写出一段死锁代码了 死锁 是指两个或两个以上[详细]
-
通过代码实现 OutOfMemory
所属栏目:[asp.Net] 日期:2020-12-16 热度:98
通过代码实现 OutOfMemory Intro 来尝试写一个发生 OutOfMemoryException 的代码吧,开启煞笔代码第三篇 —— OutofMemory OutOfMemory OutOfMemory 顾名思义就是内存不足,在 .NET 中当内存不足的时候就会抛出 OutOfMemoryException 的异常。 想要触发 OutO[详细]
-
打爆你的 CPU
所属栏目:[asp.Net] 日期:2020-12-16 热度:193
打爆你的 CPU Intro 这是这个煞笔代码系列的最后一篇—— Full CPU ,相对来说也比前面三个简单一些,没有那么多的知识点。 今天来尝试写一段代码,把 CPU 打满,让所有处理器的 CPU 使用率达到 100%,Let's do it. 如何提高 CPU 使用率 想要提高 CPU 的使用[详细]
-
WeihanLi.Npoi 1.10.0 更新日志
所属栏目:[asp.Net] 日期:2020-12-16 热度:83
WeihanLi.Npoi 1.10.0 更新日志 Intro 上周有个网友希望能够导入Excel时提供一个 EndRowIndex 来自己控制结束行和根据字段过滤的,周末找时间做了一下这个 feature,并且解决了一个 Csv 导入的一个痛点,下面再具体介绍 EndRowIndex SheetSetting 增加 EndRo[详细]
-
写了多年代码,你会 StackOverflow 吗
所属栏目:[asp.Net] 日期:2020-12-16 热度:123
写了多年代码,你会 StackOverflow 吗 Intro 准备写一个傻逼代码的系列文章,怎么写 StackOverflow 的代码,怎么写死锁代码,怎么写一个把 CPU 跑满,怎么写一个 OutOfMemory 的代码。 今天主要来看 StackOverflow , StackOverlow 是一个著名的问答社区,做[详细]
-
动手造轮子:实现一个简单的依赖注入(三) --- 支持属性注入
所属栏目:[asp.Net] 日期:2020-12-16 热度:176
动手造轮子:实现一个简单的依赖注入(三) --- 支持属性注入 Intro 前面写了几篇依赖注入的文章,有兴趣的小伙伴可以参考文末 Reference 部分中的链接,一直有小伙伴希望增加属性注入的支持,昨天试着加了一下,思路很简单,在获取到服务实例之后检查实例中有[详细]
-
新版本 swagger 组件中 Servers 的 坑
所属栏目:[asp.Net] 日期:2020-12-16 热度:102
新版本 Swashbuckle swagger 组件中 Servers 的 坑 Intro 上周做了公司的项目升级,从 2.2 更新到 3.1, swagger 直接更新到了最新,swagger 用的组件是 Swashbuckle.AspNetCore ,然后遇到一个 swagger 的问题, 在本地测试是没问题的,但是部署在测试环境[详细]
-
动手造轮子:实现一个简单的 AOP 框架
所属栏目:[asp.Net] 日期:2020-12-16 热度:193
动手造轮子:实现一个简单的 AOP 框架 Intro 最近实现了一个 AOP 框架 -- FluentAspects,API 基本稳定了,写篇文章分享一下这个 AOP 框架的设计。 整体设计 概览 IProxyTypeFactory 用来生成代理类型,默认提供了基于 Emit 动态代理的实现,基于接口设计,[详细]
-
代码重构之法——方法重构分析
所属栏目:[asp.Net] 日期:2020-12-16 热度:65
代码重构之法——方法重构分析 Intro 想要写出比较优秀的代码,需要时刻警惕代码中的坏味道,今天想写一篇文章介绍一下如何分析你的方法是不是需要考虑重构 一个方法通常有三个部分组成,输入(Input),输出(Output),方法体(Method Body),我们就从这三个方[详细]
-
更优雅的在 Xunit 中使用依赖注入
所属栏目:[asp.Net] 日期:2020-12-16 热度:75
Xunit.DependencyInjection 7.0 发布了 Intro 上次我们已经介绍过一次大师的 Xunit.DependencyInjection https://www.cnblogs.com/weihanli/p/xuint-dependency-injection.html ,最近大师完成了 7.0 的重构并且已经正式发布,已经可以直接安装使用了 7.0 为[详细]
- asp.net-mvc – 用于Bookmarked Angular SPA URL
- .net – 为什么在单击按钮时,SelectedIndexChang
- asp.net-mvc – 调用SaveChanges()时从更新中排除
- asp.net-mvc – 如何在asp mvc中阻止访问Interne
- asp.net-mvc – 在MVC中使用Session对象,真的很糟
- 捕获从ASP.NET生成的HTML
- asp.net – N层和SOA架构有什么区别?
- asp.net – 当页面加载是AJAX历史记录点的结果时
- asp.net-mvc – 如何在MVC5中从AccountControlle
- asp.net-mvc – ASP.NET MVC中的Flat和Nested Vi