随笔分类 -  .NET

摘要:本文将告诉你从“dotnet run”到“hello world”,如何使用 PerfView 来分析 .NET 运行时在启动期间所花费的时间。 代码示例 在这个示例中,我故意只关注.NET运行时在程序启动(start-up)过程中的操作,以确保运行的用户代码最少,因此只有以下的“Hello Wor 阅读全文
posted @ 2023-07-01 10:18 wxlevel 阅读(149) 评论(0) 推荐(0) 编辑
摘要:`ResourceManager .resources`资源文件的存取。 为了实现对独立二进制 资源文件的支持,我们自定义了 。 在本篇中将创建两个自定义的 ,以实现对独立 资源文件和自定义结构的XML资源文件的支持。 一、自定义ResXResourceManager实现对.Resx资源文件的支持 阅读全文
posted @ 2017-11-14 16:30 wxlevel 阅读(328) 评论(0) 推荐(0) 编辑
摘要:为了构建一个轻量级的资源管理框架以满足简单的本地化(Localization)的需求,我试图直接对现有的 编程模型进行扩展。虽然最终没能满足我们的需求,但是这两天也算对.NET如何进行资源的存取进行了深入的学习。在本篇文章中,我会通过自定义 让资源的存储形式不仅仅局限于 文件,你可以根据需要实现任意 阅读全文
posted @ 2017-11-14 16:28 wxlevel 阅读(769) 评论(0) 推荐(0) 编辑
摘要:## .NET 大数据量并发解决方案 大并发大数据量请求一般会分为几种情况: >1. 大量的用户同时对系统的`不同功能页面`进行`查找、更新操作` >2. 大量的用户同时对系统的`同一个页面,同一个表`的大数据量进行`查询操作` >3. 大量的用户同时对系统的`同一个页面,同一个表`进行`更新操作` 阅读全文
posted @ 2017-09-06 14:44 wxlevel 阅读(15083) 评论(0) 推荐(9) 编辑
摘要:匿名函数 匿名函数(Anonymous Function)是表示“内联”方法定义的表达式。匿名函数本身及其内部没有值或者类型,但是可以转换为兼容的委托或者表达式树类型(了解详情)。匿名函数转换的计算取决于转换的目标类型:如果是委托类型,则转换计算为引用匿名函数所定义的方法的委托;如果是表达式树类型, 阅读全文
posted @ 2017-06-22 20:34 wxlevel 阅读(325) 评论(0) 推荐(0) 编辑
摘要:Unity 是一款知名的依赖注入容器( dependency injection container) ,其支持通过自定义扩展来扩充功能。 在Unity软件包内 默认包含了一个对象拦截(Interception)扩展定义。 本篇文章将介绍如何使用对象拦截(Interception)来分离横切关注点( 阅读全文
posted @ 2017-06-21 14:23 wxlevel 阅读(517) 评论(0) 推荐(0) 编辑
摘要:Microsoft.CSharp.RuntimeBinder.RuntimeBinderException的异常一般来自于两种: 第一种情况: 解决办法:直接在项目引用中添加 Micorsoft.Csharp 第二种情况: 引起这种异常的错误是因为匿名类型不能跨程序集(assembly), 解决办法 阅读全文
posted @ 2017-06-20 18:15 wxlevel 阅读(1893) 评论(0) 推荐(0) 编辑
摘要:FileResult is an abstract base class for all the others. FileContentResult - you use it when you have a byte array you would like to return as a file 阅读全文
posted @ 2017-05-17 10:35 wxlevel 阅读(3730) 评论(0) 推荐(0) 编辑
摘要:上次我们说了多级缓存,本章详细介绍下内存缓存该如何设计。 一:分析设计 假设有个项目有一定并发量,要用到多级缓存,如下: 在实际设计一个内存缓存前,我们需要考虑的问题: 1:内存与Redis的数据置换,尽可能在内存中提高数据命中率,减少下一级的压力。 2:内存容量的限制,需要控制缓存数量。 3:热点 阅读全文
posted @ 2016-10-14 09:53 wxlevel 阅读(321) 评论(0) 推荐(0) 编辑
摘要:上次主要讨论缓存读写这块各种代码实现。本篇是就上次的问题接着来,继续看那些年我们各种缓存用法。 一:缓存预热 在第一次加载时,我们的缓存都为空,怎么进行预热。 单机Web情况下,一般我们使用RunTimeCache。相对于这种情况下: 1:我们可以在启动事件里面刷新 void Application 阅读全文
posted @ 2016-10-14 09:49 wxlevel 阅读(950) 评论(0) 推荐(0) 编辑
摘要:目录 一: 基本写法 二:缓存雪崩 1:全局锁,实例锁 2:字符串锁 三:缓存穿透 四:再谈缓存雪崩 五:总结 一:基本写法 为了方便演示,我们用Runtime.Cache做缓存容器,并定义个简单操作类。如下: 简单读取: 在项目中,有不少这样写法。这样写没有错,但在并发量上来后就会有问题。 二:缓 阅读全文
posted @ 2016-10-14 09:41 wxlevel 阅读(1256) 评论(0) 推荐(0) 编辑
摘要:C#有没有方法可以直接都用已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法),而不需要重新编写代码? 答案是肯定,就是通过接下来要说的 DllImport 。 DllImport的namespace: using System.Runtime.InteropService 阅读全文
posted @ 2016-09-26 17:01 wxlevel 阅读(3014) 评论(0) 推荐(1) 编辑
摘要:1: Ctrl + Enter (在光标指定位置的上面添加一行,并将光标移至新添加行的行首位置) Ctrl + Shift + Enter (在光标指定位置的下面添加一行,并将光标移至新添加行的行首位置)2:Ctrl + Shift + L (删除当前行)3:Ctrl + M + O (折叠所有的... 阅读全文
posted @ 2015-07-24 16:52 wxlevel 阅读(152) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示