
C#.Net
stoneson
专注于.net,php,java,python,nodejs,.NET Core开发专注于Flex,Silverlight,AS3,Objective-C,Android,HTML5等移动开发技术
展开
-
JSON 转成 C# 动态类
任意 JSON 转成 C# 动态类,无需事先声明一个C#类型,实现json字符串转成dynamic 类示例:[csharp] view plain copy print?class Program { static void Main(string[] args) {转载 2016-04-22 09:46:56 · 2628 阅读 · 0 评论 -
浅谈C#安装服务和卸载服务
这是一个C#安装服务和卸载服务的类,有兴趣可以看一下. using System; using System.Runtime.InteropServices; namespace EAE.MyServiceInstaller { class ServiceInstaller { #region P翻译 2012-11-06 11:26:28 · 807 阅读 · 0 评论 -
Socket粘包问题
这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下:一两个简单概念长连接与短连接:1.长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2.短连接 Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用原创 2012-08-03 10:24:41 · 1281 阅读 · 1 评论 -
C#中利用process类调用外部程序以及执行dos命令
c#中的Process类可方便的调用外部程序,所以我们可以通过调用cmd.exe程序加入参数 "/c " + 要执行的命令来执行一个dos命令(/c代表执行参数指定的命令后关闭cmd.exe /k参数则不关闭cmd.exe)class ExampleOfLegalsoft{ private string RunCmd(string command) { //实原创 2012-07-26 13:02:13 · 1818 阅读 · 0 评论 -
C#图片处理高级应用(裁剪,缩放,清晰度,水印)
前言需求源自项目中的一些应用,比如相册功能,通常用户上传相片后我们都会针对该相片再生成一张缩略图,用于其它页面上的列表显示。随便看一下,大部分网站基本都是将原图等比缩放来生成缩略图。但完美主义者会发现一些问题,比如显示排版时想让相片缩略图列表非常统一、整齐、和美观,比如要求每张缩略图大小固定为120 x 90且不拉伸变形怎么办?再比如用户头像如何让缩略图比原图更清晰?或是如何在上传的图片下加一转载 2012-08-06 17:24:19 · 1106 阅读 · 0 评论 -
C#图片上传,加水印,自动生成缩略图源代码
using System; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI;转载 2012-08-06 16:22:22 · 777 阅读 · 0 评论 -
System.Threading.Timer使用心得
System.Threading.Timer 是一个使用回调方法的计时器,而且由线程池线程服务,简单且对资源要求不高。"只要在使用 Timer,就必须保留对它的引用。"对于任何托管对象,如果没有对 Timer 的引用,计时器会被垃圾回收。即使 Timer 仍处在活动状态,也会被回收。"当不再需要计时器时,请使用 Dispose 方法释放计时器持有的资源。使用 TimerCa转载 2011-11-09 12:47:03 · 855 阅读 · 0 评论 -
使用Directory.GetFiles,如何按文件名,扩展名,创建时间分别进行升序或降序排序
using System; using System.Collections; using System.IO; public enum SortOption { FileName, Extension, CreationTime }原创 2011-08-02 11:07:28 · 7004 阅读 · 0 评论 -
[资料整理]四种代理服务器的原理(一)——SOCKS v4/v4a代理服务器的原理
<br /><br />本文由TZWSOHO通过收集网络资料整理而成(百度百科和英文维基百科),文中某些地方可能由于笔者本人技术水平有限而造成翻译上甚至是个人理解上的错漏,欢迎路过本文的各路英雄斧正。另若有需要转载时请高抬贵手标明出处,万分感谢!<br /><br /><br />SOCKS v4代理服务器由于用户验证机制没有v5版完善现已不多见,但其实现原理与v5版有很多类似之处,且较v5版为简单,估作为知识点的引导在此先作介绍。而v4a版只对v4版增加了域名解析的功能,其他功能不变,故在此一并讲述。<b原创 2011-06-01 20:31:00 · 1831 阅读 · 0 评论 -
.NET中使用Memcached的相关资源整理
Memcached官方站点:http://www.danga.com/memcached/Memcached Win32 1.2.6下载:http://code.jellycan.com/memcached/安装帮助:Windows下的.NET+ Memcached安装Memcached .NET客户端:1).NET memcached client library转载 2012-11-06 14:44:12 · 720 阅读 · 0 评论 -
如何设计一个LRU Cache?
如何设计一个LRU Cache?Google和百度的面试题都出现了设计一个Cache的题目,什么是Cache,如何设计简单的Cache,通过搜集资料,本文给出个总结。 通常的问题描述可以是这样:Question:[1] Design a layer in front of a system which cache the last n requests and the respon原创 2012-11-07 11:45:12 · 908 阅读 · 0 评论 -
C# winform打开文件夹并选中指定文件
例如:打开“E:\Training”文件夹并选中“20131250.html”文件System.Diagnostics.Process.Start("Explorer.exe", @"/select,E:\Training\20131250.html");一句代码搞定!!!扩展:1)只打开文件夹:System.Diagnostics.Process.Start("Explore原创 2014-12-15 22:48:47 · 5156 阅读 · 1 评论 -
C#中如何获取当前路径的几种方法
String apppath = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase; //获取整个文件路径名apppath = apppath.Substring(0, apppath.LastIndexOf(@"\")); //去掉/后面的程序名MessageBox.Show(apppath);原创 2014-10-13 19:58:44 · 2231 阅读 · 0 评论 -
恢复Reflector反编译后资源文件的方法
本方法只限于在InitializeComponent中包含System.Resources.ResourceManager调用的窗体1.资源文件格式转换,将.resources(二进制)文件转成.resx文件(XML) 用Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/Bin下 resgen.exe 格式: re原创 2013-08-23 11:36:01 · 1356 阅读 · 0 评论 -
使用ASP .NET (C#) 产生PDF档的好帮手—iTextSharp library(上)
由於工作內容需要使用ASP .NET C#產生PDF檔,但是微軟的.NET framework 並沒有內建產生PDF 的功能,所以只能上網找Third-Party 提供的函式庫。請出Google大神幫忙,搜尋出來的結果有上萬筆,在沒有頭緒的情況下真是大海撈針。搜尋結果中有很多PDF 函式庫是要付費的,就先將它排除,我們將搜尋範圍縮小至free又能支援中文後,終於讓我找到一個很實用且容易上手的lib翻译 2013-06-07 09:04:41 · 2085 阅读 · 0 评论 -
C#实现DDOS攻击代码介绍
//在工程属性中设置“允许不安全代码”为trueusing System;using System.Net;using System.Net.Sockets;using System.Threading;//需要的命名空间不用解释了吧 namespace syn{ public struct ipHeader { public by转载 2012-11-19 17:25:46 · 1801 阅读 · 1 评论 -
C#压力测试(CC/DDOS攻击)源代码
发放一个C#(C#封装的网络类比较多且全面,适合做网页测试软件)的CC/DDOS攻击器demo的源代码。using System.Text;using System.ComponentModel;using System.Net.Sockets;using System.Net;namespace DepthCharge{ class HttpTest {转载 2012-11-19 17:44:45 · 7893 阅读 · 2 评论 -
微软提供的SQLHelper类 含完整中文注释
using System;using System.Data;using System.Xml;using System.Data.SqlClient;using System.Collections;namespace Book.DAL{ /// /// SqlServer数据访问帮助类 /// public sealed class SqlHelper { #re转载 2012-11-13 17:56:50 · 882 阅读 · 0 评论 -
Windows下配置使用MemCached
工具:memcached-1.2.6-win32-bin.zip MemCached服务端程序(for win)Memcached Manager win下的MemCached管理工具Memcached .NET client Library C#/.NET memcached 客户端dll安装配置MemCached服务端转载 2012-11-08 09:14:47 · 826 阅读 · 0 评论 -
SOCKS 5协议详解
差不多是对rcf1928的翻译。 【zz】 笔者在实际学习中,由于在有些软件用到了socks5(如oicq,icq等),对其原理不甚了解,相信很多朋友对其也不是很了解,于是仔细研读了一下rfc1928,觉得有必要译出来供大家参考。1.介绍: 防火墙的使用,有效的隔离了机构的内部网络和外部网络,这种类型的Internet架构变得越来越流行。这些防火墙系统大都充当着网络之间原创 2011-06-03 14:44:00 · 2515 阅读 · 0 评论 -
#使用Socks5代理发送UDP数据包
一下就是C#使用Socks5代理发送UDP数据包的详细源码:using System; using System.Net; using System.Net.Sockets; using System.Text; //Socks 5 RFC is available at http://www.faqs.org/rfcs/rfc1928.html. namespace CS原创 2011-06-03 14:43:00 · 4522 阅读 · 0 评论 -
[资料整理]四种代理服务器的原理(二)——SOCKS v5代理服务器的原理
<br /><br />SOCKS v5的原理与SOCKS v4/v4a的原理大致相同,但增加了对UDP协议的支持、安全验证机制及IPv6的支持。客户端通过SOCKS v5代理服务器与外部建立连接的流程如下:<br />1、 客户端尝试连接代理服务器;<br />2、 客户端选择一种认证的方法,并发送认证信息的方法代码至代理服务器;<br />3、 若代理服务器不接受此认证方法,则拒绝客户端的请求;<br />4、 若代理服务器接受了此认证方法,则客户端可根据方法的规定与代理服务器进行一些信息通讯,原创 2011-06-01 20:33:00 · 5347 阅读 · 1 评论 -
c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2
<br /><br />可以实现例如通过应用程序操作google搜索,用户输入要搜索的内容,然后在google中搜索;可以自动点击网页上的按钮等功能<br /> 1. 加入对Microsoft Internet Controls的引用;<br /> 2. 加入对Microsoft HTML Object Library的引用;<br />(要引入Microsoft.mshtml.dll 地址是C:/Program Files/Microsoft.NET/Primary Interop Assem原创 2011-01-13 10:30:00 · 5218 阅读 · 0 评论 -
log4net 各种等级的消息 输出到不同日志文件的 配置文件方式
这是用log4net 1.2.9.0环境下 将不同等级消息输出到不同日志文件的配置文件,log4net.config在项目中增加引用,在AssemblyInfo.cs里增加一句话:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)] 在Application_OnStart-WebForm或者在 main函数-WinForm里面增加log4net.Config.XmlConfigurat转载 2010-11-16 12:09:00 · 1667 阅读 · 0 评论 -
Java and C# Comparison
<br />Java Program Structure C#package hello;public class HelloWorld { public static void main(String[] args) { String name = "Java"; // See if an argument was passed from the command line if (args.length == 1) name原创 2010-12-16 12:51:00 · 626 阅读 · 0 评论 -
消息与.NET Remoting分布式处理架构
<br /><br />消息与.Net Remoting的分布式处理架构<br /> 分布式处理在大型企业应用系统中,最大的优势是将负载分布。通过多台服务器处理多个任务,以优化整个系统的处理能力和运行效率。分布式处理的技术核心是完成服务与服务之间、服务端与客户端之间的通信。在.Net 1.1中,可以利用Web Service或者.Net Remoting来实现服务进程之间的通信。本文将介绍一种基于消息的分布式处理架构,利用了.Net Remoting技术,并参考了CORBA Naming Service的原创 2010-12-01 15:59:00 · 704 阅读 · 0 评论 -
socket 通信 Windos 和 Linux之间 Big endian 和 little endian的转换策略
<br />Big endian 和 little endian<br />本次测试仅仅一32Bits的Intel X86系统和Moto Power PC系统TCP/IP socket connection联调作为讨论内容。<br />结论如下:<br />传输某一结构体。<br />#pragma pack(4) <br />typedef struct{<br />char name[6];<br />int age;<br />char sex;<br />short tel;<br />}s原创 2010-12-01 01:10:00 · 900 阅读 · 0 评论 -
as3与.net进行socket通信
<br />.net代码: <br />public class SocketTest<br /> {<br /> private Socket _server;<br /> public void Start() <br /> {<br /> IPEndPoint iep = new IPEndPoint(IPAddress.Parse("192.168.0.11"), 9999);<br /> this._ser原创 2010-12-01 01:08:00 · 1411 阅读 · 3 评论 -
AS3与.net之间的Socket编码转换的endian问题
<br />之前一直都是用.net,最近项目需要在C#和AS3之间建立socket通信,于是就研究了一下AS3的socket。用起来的时候,发现AS3的socket与C#的socket用法差别较大。但是这些都还说得过去,可是一个endian却是把我恶心了一番。<br /><br /> 由于对字符编码了解不多,我在试用AS3的socket的函数writeInt()的时候,C#端接收到的数字总是跟flash端发送的值不一致。我调试时发现同一个整数,flash端将其转换成的字节数组跟C#将其转换成的字节数组原创 2010-12-01 00:58:00 · 1304 阅读 · 0 评论 -
Windows Mobile获取通话记录 C#
<br /><br />Windows Mobile获取通话记录 C# 文章作者:alalmn文章作者:[E.S.T] alalmn 信息来源:邪恶八进制信息安全团队(www.eviloctal.com)飞龙 QQ316118740 飞龙 BLOG http://hi.baidu.com/alalmn 在现有的.net compact framework中,无论是1.0、2.0还是3.5版本,都没有直接获取用户通话记录的接口,那么,我们只能自己封装底层API来实现了。该接口在phone.dll中,调用Pho原创 2010-12-01 16:41:00 · 615 阅读 · 0 评论 -
Code Project精彩系列
<br />Applications <br />Crafting a C# forms Editor From scratch <br />http://www.codeproject.com/csharp/SharpFormEditorDemo.asp<br />建立一个类似C#的环境, 实现控件拖拉,属性 <br />Packet Capture and Analayzer <br />网络封包截获 <br />http://www.codeproject.com/csharp/pacanal.asp原创 2010-11-18 15:29:00 · 1548 阅读 · 0 评论 -
中文字符串模糊匹配算法|C# Levenshtein Distance
<br />中文字符串模糊匹配算法|C# Levenshtein Distance2010-01-06 09:08:09 <br />C# Levenshtein Distance<br />by Sam Allen - Updated November 27, 2009<br />You want to match approximate strings with fuzzy logic, using the Levenshtein distance algorithm. Many projects n原创 2011-01-25 13:58:00 · 4872 阅读 · 0 评论 -
[C#]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
①子类静态成员变量②子类静态构造函数③子类实例成员变量④父类静态成员变量⑤父类静态构造函数⑥父类实例成员变量⑦父类构造函数⑧子类构造函数规则可以总结为:子类成员变量先于父类成员变量静态成员变量先于实例变量类成员变量初始化先于类的构造函数父类构造函数先于子类构造函数测试的代码:using System;using System.Collections.Generic;using System.Text;namespace 静态实例构造{ class sho原创 2011-06-01 20:41:00 · 1882 阅读 · 0 评论 -
利用Visual C#实现ICMP网络协议
ICMP就是所谓的Internet控制报文协议(Internet Control Message Protocol),在网络中,一般用它来传递差错报文以及其他应注意的信息。ICMP一般被认为是和IP协议同一层的协议,IMCP报文通常被IP层或者更高层的协议(如:TCP或者UDP)使用,ICMP对于互联网以及其他基于IP协议的网络的正常运行起着非常重要的作用。有许多重要的网络程序都是基于ICMP协议上的,最为著名如Ping和Tracert等。本文就来介绍用Visual C#实现基于ICMP协议重要的网络命令P原创 2011-05-24 18:31:00 · 1617 阅读 · 1 评论 -
Log4Net 配置和使用
LOG操作类 using System; using System.IO; /**//// /// LogHelper的摘要说明。 /// public class LogHelper { private SystemLog() { } public static readonly log4原创 2011-05-20 15:24:00 · 881 阅读 · 0 评论 -
C#中的多线程-线程同步基础
第二部分:线程同步基础同步要领下面的表格列展了.NET对协调或同步线程动作的可用的工具:简易阻止方法构成目的Sleep阻止给定的时间周期Join等待另一个线程完成锁系统构成目的跨进程?速度lock确保只有一个线程访问某个资源或某段代码。否快Mutex确保只有一个线程访问某个资源或某段代码。可被用于防止一个程序的多个实例同时运行。是中等原创 2011-03-31 18:20:00 · 1149 阅读 · 0 评论 -
C#反射 总结 (System.Reflection )
反射的概述 反射appDomain 的程序集 反射单个程序集 利用反射获取类型信息 设置反射类型的成员 通过反射创建类型的实例 反射类型的接口 反射的性能 反射的概述 反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等,。System.reflection命名空间包含的几个类,允许你反射(解析)这些元数原创 2011-05-11 11:30:00 · 1616 阅读 · 1 评论 -
C#监测全局键盘与鼠标事件
在C#中一般不能用SetWindowHookEx监视全局键盘与鼠标事件,微软给出的解释是托管程序不能与非托管共享链接库交互,在网上找了老半天才发现了这个解决方案,拿出来与大家分享一下,希望可以节约对这方面又需求和希望学习的朋友们的时间. WH_KEYBOARD_LL和WH_MOUSE_LL是个例外,可以做到对全局鼠标与键盘事件监控.具体示例代码如下:using System;using System.Runtime.InteropServices;using System原创 2011-03-16 14:00:00 · 2347 阅读 · 0 评论 -
c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2
<br /><br />可以实现例如通过应用程序操作google搜索,用户输入要搜索的内容,然后在google中搜索;可以自动点击网页上的按钮等功能<br /> 1. 加入对Microsoft Internet Controls的引用;<br /> 2. 加入对Microsoft HTML Object Library的引用;<br />(要引入Microsoft.mshtml.dll 地址是C:/Program Files/Microsoft.NET/Primary Interop Assem原创 2011-02-10 11:03:00 · 1945 阅读 · 0 评论 -
ASP.NET AJAX 无限级 JS 树形菜单
<br /><br />功能说明:<br /> 由Tree.html中的JQuery AJAX代码发起HTTP请求到GetTreeData.aspx获取JSON格式的字符串,然后在Tree.html中将字符串格式化为JSON格式,用dTree函数递归构造JS Tree。<br />步骤:<br /> 1)创建Menu类(为了构造List<T>泛型集合)<br /> 2)创建FormatToJson类<br /> 3)创建GetTreeData.aspx窗体,原创 2011-02-01 18:19:00 · 1206 阅读 · 0 评论