![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 86
Donnie2016
历史告诉我们,项目开发中踏过的所有坑,都TM是自己挖的...
展开
-
c#让Socket服务支持IPv6
随着互联网越来越普及,以及物联网的兴起,IPv4地址已远远不够用,IPv6的普及将是不可避免的趋势。以前,我们的大部分socket程序几乎都是针对IPv4而开发,如果不做升级重构,那么使用IPv6地址的客户端将无法使用服务端提供的服务。如何才能像ESFramework一样,使服务端和客户端都可以同时支持IPv6了?使我们的P2P打洞也兼容IPv6了?下面我们将要点一一点出。 首先转载 2016-09-09 10:13:51 · 8840 阅读 · 1 评论 -
C#反射調用WebService引起內存泄漏
最近寫了一個小工具,用來定時檢測公司各臺服務器上的WebService是否工作正常.如果無法訪問則報警.開發思路也很簡單, 設定一個Timer, 定時啟動多個線程(每個線程負責N臺服務器訪問任務)去動態訪問各服務器上的WebService的指定方法. 然後對異常信息進行報警.動態訪問WebService技術採用大家都熟悉的反射(Reflection), 如下:原创 2016-09-08 15:11:02 · 1680 阅读 · 1 评论 -
C#程序员开发WinForm必须知道的 Window 消息大全
不要以为下面的东西只有C++中才会用到哦!消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它转载 2016-09-24 15:24:14 · 832 阅读 · 0 评论 -
关于程序集生成失败-引用的第三方DLL没有强名称的解决办法
如果一个Assembly希望封装成为ActiveX/COM组件,那么它必须拥有强名(Strong Name),也就是说在编译的时候需要指定SNK(Strong Name Key)。但是当一个Assembly如果以拥有强名的方式编译的话,它又要求所有自身所引用的其他Assembly都必须拥有强名,否则不能够成功编译。这时可以使用按照以下方式来创建或重建一个名称程序集。首先无论我们有需要一转载 2016-10-06 12:02:43 · 4699 阅读 · 2 评论 -
C#调用C++的Dll(参数和返回值為char* TCHAR*)
想要在C#和C++之间进行字符串传递会涉及到两件事情:1.C#的string和C++的字符串首指针要怎么对应. 2.字符串分为ANSI和UNICODE.C++ 头文件接口://FilePolice.h//參數和返回值為Ansiextern "C" __declspec(dllexport) char* __stdcall EncryptString(char原创 2016-12-02 16:20:42 · 8696 阅读 · 0 评论 -
C#进程间使用同步EVENT事件
在C++中,对跨进程使用各种同步的方法,用得还是比较多的,但在C#中跨进程编程就比较少了,更多的使用了其它一些机制,特别是WCF做为一种分布式编程的技术逐渐被推广后,也越来越方便了。原来在线程间使用事件,大多使用这两个AutoResetEvent和ManualResetEvent,但在跨进程中使用就不可以了。这时候就得祭出他们两个的父类EventWaitHandle,大家看一下他的重载构造转载 2016-12-12 16:05:31 · 4736 阅读 · 0 评论