.NET
ismycxp
这个作者很懒,什么都没留下…
展开
-
Socket异步编程
以SOCKET通信中的异步方法为例:public static ManualResetEvent ConnectDone = new ManualResetEvent(false); public static void ConnectCallback(IAsyncResult ar) { Socket sClient = (Socket)ar.转载 2007-03-24 20:05:00 · 2351 阅读 · 0 评论 -
对象序列化
通过socket来发送信息的时候,它只接受byte[]类型的参数,怎么样把一个对象转为byte[],之后将它通过socket发送呢? 前段时间测试一个P2P程序,通过UDP来发送数据。UdpClient.Send(..)方法需要一个byte[]这样的参数。想当年用c++Builder的时候,只需要用强制转换就行了。如今时过境迁,.net平台上处理这事却似乎有些麻烦!今天恰好在csdn上见转载 2007-08-23 12:10:00 · 818 阅读 · 0 评论 -
只允许运行一个实例
有时你会想只运行一个程序首次运行时的实例,有些时候则可能只需要运行最新的那个实例。以下是这两种实现这两种方法的例子。你如何才能确保只有一个.NET的程序运行在你的机器上呢?多任务操作系统在很多方面都很有用,但是有时你只需要在某一时间内运行一个实例,例如,如果程序需要使用很多的资源或者需要排它地存取某一个资源。在这种情况下,你可能想确认当另一个实例启动时,它会检查是否有另一个实例正在运行。如果是转载 2008-02-01 11:10:00 · 1198 阅读 · 0 评论 -
WebBrowser页面与WinForm交互技巧
最近看到博客园入门教学文章比较流行,自己最近又偷懒比较多,没啥心得,不妨写一篇没啥深度的入门文章吧。话说有了WebBrowser类,终于不用自己手动封装SHDocVw的AxWebBrowser这个ActiveX控件了。这个类如果仅仅作为一个和IE一模一样浏览器,那就太没意思了(还不如直接用IE呢)。那么,无论我们是想做一个“定制版IE”,还是希望利用HTML来做用户界面(指WinAp转载 2007-11-21 13:38:00 · 978 阅读 · 1 评论 -
把DLL文件打包进EXE的技巧(C#)
废话就不多说了,直接进入主题吧用VS2005建立一个windows项目,取名test引用dll文件编写代码,正常引用dll里的类库,同时在test项目添加资源文件(该文件就是刚才引用的dll文件)VS2005会自动生成引用代码,我这里引用的是IrisSkin2.dllinternal static byte[] IrisSkin2 ...{ get原创 2008-04-09 11:49:00 · 3239 阅读 · 2 评论 -
CarlosAg.ExcelXmlWriter实现.net下Excel导出功能(服务端不需要安装Excel程序)
CarlosAg.ExcelXmlWriter是一三方dll控件,可以到http://www.carlosag.net/Tools/ExcelXmlWriter/Default.aspx下载。他使用起来非常简单。在C#中使用方法:using CarlosAg.ExcelXmlWriter;class TestApp { static void Main(string[] args转载 2008-05-31 18:47:00 · 1408 阅读 · 0 评论 -
C#操作xml之xpath语法
以前也发过关于.net中操作XML的帖子,但不是很详细,现在我将详细介绍一下c#如何操作xml文件,正如学习操作数据库要学习SQL语言一样,在学习操作xml与语言之前,我们要先熟悉一下xml的“sql”语句xpath。由于本系列帖子的目的不在于详细介绍xpath语法所以,我借用了园子里leves的帖子来简单介绍一下xpath语法: XPath 是XML的查询语言,和SQL的角色很类似。以下面转载 2009-03-14 16:57:00 · 2039 阅读 · 0 评论 -
ASP.NET 网站发布问题(同时存在于“c:/WINDOWS/Microsoft.NET/Framework...)
同时存在于“c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/)面对这个问题,好多人摸不着头脑,今天我也遇到了,不过后来仔细看了一下每个页面发现了问题,而且出现这种情况的大多数人是为了偷懒copy的才会发生这个错误,下面我来说下解决方法吧在你的页面和用户控件的第一行都会有如下:不知道大家发现问题了原创 2009-04-25 14:42:00 · 1811 阅读 · 0 评论 -
C# 3.0 特性预览
<br />声明:本文主要是根据微软《C# 3.0 Specification》文档翻译而成(本文内容并非完整按照该文档进行编排),并对msdn相关文档中的资料进行整理而成。若有翻译不妥之处,恳请指正。<br /> <br /> 阅读本文前,需要了解:<br /> 1、C# 3.0代号“Orcas”,是基于C# 2.0的扩展。提供了多种具有更高层次功能的类库。这些扩展允许构造组合(compositioanl)API来实现具有同关系型数据库及XML等领域相等效能的表达效力。<br />转载 2010-07-14 17:55:00 · 544 阅读 · 0 评论 -
TFS映射时工作区存在报错的解决办法
<br />以前在现场项目地连VSTS时,映射了一个工作区,这次回到公司开发,要连接公司的VSTS,于是就把前面的工作区删除了,重新添加了一个工作区,结果报出如下的错误: <br /><br />在网上找到了解决办法:<br />在文件 C:/Documents and Settings/当前用户/Local Settings/Application Data/Microsoft/Team Foundation/1.0/Cache/VersionControl.config 中,缓存了本地文件夹到旧服务器的转载 2010-07-26 11:20:00 · 2627 阅读 · 0 评论 -
VS2008发布网站时,生成固定命名的程序集
在Visual Studio 2003下开发网站的都知道ASP.NET 1.1网站生成后都是一个唯一命名的程序集(项目名称.DLL),但是这种情况在Visual Studio 2005的网站开发中不见了。Visual Studio 2005给我们提供了“发布网站”这样方便的功能,不用在像以前一样COPY的部署,但是采用其“发布网站”的功能,会在站点的BIN目录中产生App_Code.compiled,App_Code.dll,App_Web_xxxxxx.dll,项目名称.dll等等这样的程序集,如果不采用转载 2010-06-18 10:30:00 · 2038 阅读 · 0 评论 -
smartassembly的使用说明
<br /> <br />SmartAssembly主页: http://www.smartassembly.com/<br /> <br />SmartAssembly是一款不错的 .Net 混淆工具,支持字符串加密,字符串、字段名、流程混淆,程序集合并、移除无用代码、破坏元数据等。下面本文将逐一对SmartAssembly的各个功能进行一些简单的介绍。<br /> <br />本次用来测试的程序为 CanYouLib.Framework.dll<br /> <br />首先,启动 SmartAssem转载 2011-03-10 17:47:00 · 4111 阅读 · 0 评论 -
对Socket常用方法的封装
在一个blog上看到的好帖,写了一个对网络 socket 进行封装的类,主要是在异步阻塞模式下进行数据、文件的发送的发送和接收,都是静态方法。代码如下: 1using System; 2using System.Net ; 3using System.Net.Sockets ; 4using System.IO ; 5using LogDll; 6 7namespace Ne转载 2007-08-22 17:19:00 · 793 阅读 · 0 评论 -
IList 转换成 DataSet
通过 NHibernate 查询返回的表数据通常都是IList,但在实际使用中有些数据控件在数据绑定上对IList的支持并不是很好,所以有时候将IList转换成DataSet还是有必要的。在Vinson的Blogs中提到了怎么将IList转换成DataSet,可惜源码是VB.NET的。 下面是我根据IList转换成DataSet中的VB.NET源码转换成C#,由于现在做项目是用 VS 2转载 2007-07-30 13:10:00 · 1241 阅读 · 1 评论 -
C#反射
反射的概述 反射appDomain 的程序集 反射单个程序集 利用反射获取类型信息 设置反射类型的成员 通过反射创建类型的实例 反射类型的接口 反射的性能 反射的概述 反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一原创 2007-07-20 17:59:00 · 1164 阅读 · 0 评论 -
Socket异步编程2
1 using System; 2 using System.Text; 3 using System.Threading; 4 using System.Net.Sockets; 5 using System.Net; 6 namespace asyncSocketServer { 7 8 class SocketListener { 9 System.Threadi原创 2007-03-24 20:14:00 · 1093 阅读 · 1 评论 -
Socket异步编程3
.NET 框架的 Socket 类实际上是 Winsock32 API 提供的套接字服务的托管代码版本。其中Socket 类为网络通信提供了一套丰富的方法和属性,大多数情况下,Socket 类方法只是将数据封送到它们的本机Win32 副本中并处理任何必要的安全检查。Socket 类允许使用 ProtocolType 枚举中所列出的任何一种协议执行异步和同步数据传输。Socket 类遵循异步方法的原创 2007-03-24 20:41:00 · 1373 阅读 · 1 评论 -
C#木马(服务端)
服务端的开发: 要实现木马服务的程序,主要实现以下几个功能:后台的运行(隐藏技术),控制码的接收与注册表的修改,下面对这三方面做介绍: 1、在VC#中,建立一个后台服务程序是很容易的,先建立一个新的C#的Windows应用程序,项目名称自定(不过为了隐藏可使用与系统相近的名称),将窗体属性“ShowInTaskbar”属性设为false,让它运行时不会在任务栏中显示,并将属性“W转载 2007-03-28 13:41:00 · 664 阅读 · 0 评论 -
C#木马(客户端)
使用的技术: 控制端程序发送控制码控制服务器,服务器后台运行,修改注册表达到控制的目的。技术不是很难的,主要体现C#的网络编程和注册表的修改。 控制端开发: 控制端向服务器发出一段控制码,服务端(木马程序)收到控制码后,根据控制的要求,完成指定的要求,如果服务器完成工作,返回成功的信息。 控制端的开发: 控制码的设定你可以自已设定,不需要详解,主要有以下几个难点。转载 2007-03-28 13:40:00 · 749 阅读 · 0 评论 -
用C#生成随机中文汉字验证码的基本原理
下面就来介绍一下使用C#生成随机的中文汉字的原理。 1、汉字编码原理 到底怎么办到随机生成汉字的呢?汉字从哪里来的呢?是不是有个后台数据表,其中存放了所需要的所有汉字,使用程序随机取出几个汉字组合就行了呢?使用后台数据库先将所有汉字存起来使用时随机取出,这也是一种办法,但是中文汉字有这么多,怎么来制作呢?其实可以不使用任何后台数据库,使用程序就能做到这一切。要知道如何生成汉字,就得先了解转载 2007-06-30 11:23:00 · 546 阅读 · 0 评论 -
ASP.NET有关目录操作的常识
MapPath对子目录操作要带虚拟目录名,或者用下面的代替 Server.MapPath("/") --------------站点根目录的物理路径 Server.MapPath("~/")--------------应用程序根目录的物理路径 Server.MapPath("./")--------------当前目录的物理路径 Server.MapPath(转载 2007-06-30 11:24:00 · 647 阅读 · 0 评论 -
ADO.net使用技巧
介绍 本文为ADO.NET应用程序提供实现最佳性能、可伸缩性和功能的解决方案;它介绍了ADO.NET中可用对象的使用,并为优化ADO.NET应用程序的设计提供了一些建议。 本文包括: l .NET框架组件中包含的数据提供者信息 l DataSet 与DataReader的比较,这些对象最佳使用说明 l 说明怎样使用DataSet、Commands和Connection原创 2007-07-07 13:27:00 · 755 阅读 · 0 评论 -
获取数据库中的所有表
获取数据库中的所有表 Author:hobeFrom:Internet。在很多情况下我们需要将指定的数据库中的所有表都列出来。在使用c#进行软件开发时,我们有哪些方法可是实现这个目的呢?本人对此进行概要的总结,有以下6中方式可以实现这个目的。1、sqldmoSQLDMO是操作SQLServer的理想的方式,如果您的数据库是SQLServer就可以考虑使用这种方式。在C#中使用SQLDMO需原创 2007-04-11 11:37:00 · 697 阅读 · 0 评论 -
C#多线程
别相信别人告诉你的所有的事。其实C#中的线程是很简单的。线程是程序中的控制流程的封装。你可能已经习惯于写单线程程序,也就是,程序在它们的代码中一次只在一条路中执行。如果你多弄几个线程的话,代码运行可能会更加“同步”。在一个有着多线程的典型进程中,零个或更多线程在同时运行。但是,在有着N个CPU的机器上,一个线程只能在给定的时间上在一个CPU上运行,因为每个线程都是一个代码段,每个CPU一次只能运行原创 2007-04-18 19:25:00 · 871 阅读 · 0 评论 -
Visual Stdio.NET快捷键
1. F12:转到定义;Shift+F12:转到引用 2. F5:启动;Ctrl+F5:开始执行(不调试);Shift+F5:停止调试 3. F7:查看代码;Shift+F7:查看视图设计器 4. Ctrl+Alt+L:解决方案资源管理器 5. Ctrl+Alt+J:对象浏览器 6. F4:显示属性窗口 7. Ctrl+Al原创 2007-07-19 14:30:00 · 672 阅读 · 0 评论 -
C#为应用程序注册快捷键
在应用中,我们可能会需要实现像Ctrl+C复制、Ctrl+V粘贴这样的快捷键,本文简单介绍了它的实现,并给出了一个实现类。(1)建立一个类文件,命名为HotKey.cs,代码如下:using System;using System.Collections.Generic;using System.Runtime.InteropServices;using System.Windows.Form原创 2007-07-19 14:56:00 · 4292 阅读 · 4 评论 -
smartassembly的使用说明
SmartAssembly主页: http://www.smartassembly.com/SmartAssembly是一款不错的 .Net 混淆工具,支持字符串加密,字符串、字段名、流程混淆,程序集合并、移除无用代码、破坏元数据等。下面本文将逐一对SmartAssembly的各个功能进行一些简单的介绍。本次用来测试的程序为 CanYouLib.Framework.dll首先,启动 SmartAssembly程序,点击左侧的“Home Page”选项卡,然后再右侧选择“New Project”新建工程。之后转载 2011-03-10 17:47:00 · 2450 阅读 · 3 评论