随笔分类 - .net
摘要:LinFx 一个基于 .NET Core 2.0 开发的简单易用的快速开发框架,遵循领域驱动设计(DDD)规范约束,提供实现事件驱动、事件回溯、响应式等特性的基础设施。让开发者享受到正真意义的面向对象设计模式来带的美感。 LinFx.Extensions Caching、DapperExtensio
阅读全文
摘要:一、DotNetty背景介绍 某天发现 dotnet 是个好东西,就找了个项目来练练手。于是有了本文的 Mqtt 客户端 (github: MqttFx ) DotNetty是微软的Azure团队,使用C#实现的Netty的版本发布。不但使用了C#和.Net平台的技术特点,并且保留了Netty原来绝
阅读全文
摘要:先上代码: 2. IWorkContext 3. Ninject 注入 问题: 一。如果实现 方步 GetRecordId() 从 cooike 取 ? 二。_context.HttpContext 是会每次都新生成? 每次 new 各位兄弟,有漏洞吗 可能思路不对cooike 要保存什么东西? 未
阅读全文
摘要:引用 Ninject Ninject.Web.Common Ninject.Web.Mvc 不知道为什么,,我总不能成功. 这里出问题了吗?
阅读全文
摘要:class Program { static void Main(string[] args) { //int i = 11; //int b = (i & 0xf0); //byte temp = 0x86; //var h = temp & 0xf0; //Console.WriteLine("{0}", i); //Console.ReadKey(); ushort buf = 0xf1f0; ...
阅读全文
摘要:protected override void WndProc(ref Message m) { base.WndProc(ref m); switch (m.Msg) { case WinUser.WM_CREATE: break; case WinUser.WM_PAINT: break; case WinUser.WM_LBUTT...
阅读全文
摘要:Semaphore 信号量, 用来限制可同时访问某一资源或资源池的线程数。信号量维护了一个计数器, 计数器的值可以在0到指定的最大值之间。当一个线程完成了对信号量的等待后, 信号量计数器值减少。当一个线程稀放信号量时, 信号量计数器值增加。当计数器值达到零后,信号量是"未标志的",当计数器值大于零时, 信号量是"标志的"。任何线程都无法等待信号量变为"标志的", 因此信号量对限制可以共享数据的线程数量很有用处。using System;using System.Collections.Generic;using System.Text
阅读全文
摘要:// 根据RGB,计算灰度值private int GetGrayColor(System.Drawing.Color color){ int i = (int)(0.299 * color.R + 0.587 * color.G + 0.114 * color.B); int i2 = (color.R * 19595 + color.G * 38469 + color.B * 7472) >> 16; return i;}private void SetBitmap(Bitmap img){ BitmapData bmData = img.LockBits(new ...
阅读全文
摘要:ReaderWriterLock 用於同步存取資源。 它能在任何指定時間並行讀取多重執行緒或寫入單一執行緒。 如果資源不常變更,ReaderWriterLock 的產量優於每次一的鎖定 (例如 Monitor)。 如果不常寫入 (而且寫入時間很短) 而是以讀取為主,則 ReaderWriterLoc
阅读全文
摘要:在动态编程时,我们常常需要运行时确定调用对象的哪个属性或哪个方法。这个任务通常可以用反射来解决。但众所周知,反射的性能要比静态指定的方式低很多,因为反射要通过运行时复杂的机制完成。能否获得性能和灵活性兼备的动态调用?我在开发VBF的最新功能时反复考虑了这个问题。我们通常动态调用一个对象的属性是采用这
阅读全文
摘要:using System;using System.Collections.Generic;using System.Diagnostics;namespace ConsoleApplication5_Inject{ class Entity { } class Program { staticvo
阅读全文
摘要:namespace ConsoleApplication2 { class Program { class Customer { public int id; public string name; } class Helper<T> { public void OrderBy<TKey>(Func
阅读全文
摘要:IP多播(也称多址广播或组播)技术,是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术。 多播作为一点对多点的通信,是节省网络带宽的有效方法之一。 在网络音频/视频广播的应用中,当需要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是
阅读全文
摘要:单播(点对点) 通信,即网络中单一的源节点发送封包到单一的上的节点。 在广播通信中, 网络层提供了将封包从一个节点发送到所有其他节点的服务。 利用广播(broadcast) 可以将数据发送给本地子网上的每个机器。广播的缺点是如果多个进程都发送广播数据, 网络就会阻塞。 1. 服务端 <!--<br
阅读全文
摘要:这篇文章本来是星期五晚写好了, 因6日去旅游了, 没来得急发上来 1. 同样, 我们先看看这一个比简单的 结构体 <!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http
阅读全文
摘要:最近看到一个帖子,问的是怎么把自己定义的结构体转换成对应的byte数组,一般来说,都会想到用Marshal类来完成这个功能,其实还有一个方法也可以,那就是利用unsafe代码。 先定义假想的一个值类型: 然后,定义一个公用方法签名:Action<MyStruct, Stream>,这个是为了方便之后
阅读全文
摘要:[assembly: AssemblyVersion("1.0.0.3")] <!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlig
阅读全文
摘要:有时在开发程序的时候, 有时需要只能同时运行一个实例.Mutex 类, 称为互拆体, 是一个同步基元, 它只向一个线程授予对共享资源的独占访问权。当两个或更多线程需要同时访问一个共享资源时,系统需要使用同步机制来确保一次只有一个线程使用该资源。如果一个线程获取了互斥体,则要获取该互斥体的第二个线程将
阅读全文
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1using System; 2 3namespace 算法 4{ 5 /**//// 6 /// 排序 7 /// 8 public static clas...
阅读全文
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System; using System.Data; using System.Data.SqlClient; namespace lsb.DBUtility { /// ...
阅读全文