摘要:boost, asio, SPServer boost::asio是一个高性能的网络开发库,Windows下使用IOCP,Linux下使用epoll。与ACE不同的是,它并没有提供一个网络框架,而是采取组件的方式来提供应用接口。但是对于常见的情况,采用一个好用的框架还是能够简化开发过程,特别是asio的各个异步接口的用法都相当类似。 受到 SP Server 框架的影响,我使用asio大致实现了一个多线程的半异步半同步服务器框架,以下是利用它来实现一个Echo服务器:1. 实现回调: static void onSessionStarted(RequestPtr const& requ
阅读全文
04 2011 档案
摘要:我稍稍整理了下,就是加了点注释,很基本的东西,大家可以参考socket的几个流程,我上面也有提示的,希望对大家有所帮助。最后,如果大家有什么好的方法希望能让我也分享下,谢谢!服务端:#include <boost/asio.hpp>#include <boost/bind.hpp>#include <boost/shared_ptr.hpp>#include <boost/enable_shared_from_this.hpp>#include <iostream>using boost::asio::ip::tcp;#define
阅读全文
摘要:boost库中的网络编程的例子比较复杂,不太好理解,所以,从网上找了一个简单点的例子。网址如下:http://blog.chinaunix.net/u3/93184/showart_1846119.html.经过修改,可以运行。服务器代码:Servier.cpp#include <boost/asio.hpp>#include <boost/bind.hpp>#include <boost/shared_ptr.hpp>#include <boost/enable_shared_from_this.hpp>#include <iostrea
阅读全文
摘要:生成excel的时候有时候需要设置单元格的一些属性,可以参考一下:range.NumberFormatLocal="@";//设置单元格格式为文本 range=(Range)worksheet.get_Range("A1","E1");//获取Excel多个单元格区域:本例做为Excel表头range.Merge(0);//单元格合并动作worksheet.Cells[1,1]="Excel单元格赋值";//Excel单元格赋值range.Font.Size=15;//设置字体大小range.Font.Underl
阅读全文
摘要:方法一:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Reflection;using Microsoft.Office.Interop.Excel;namespace TestEXCLE{ public partial class Form1 : Form { pu
阅读全文
摘要:private _Workbook _workBook = null;private Worksheet _workSheet = null;private Excel.Application _excelApplicatin = null;_excelApplicatin = new Excel.Application();_excelApplicatin.Visible = true;_excelApplicatin.DisplayAlerts = true;_workBook = _excelApplicatin.Workbooks.Add(XlSheetType.xlWorksheet
阅读全文
摘要:添加dll引用右击选择你所在的项目的“引用”,选择“添加引用”。弹出“添加引用”对话框。选择“COM”选项卡。选择“Microsoft Excel 11.0 Object Library”单击“确定”按钮。代码public static bool ExportForDataGridview(DataGridView gridView, string fileName, bool isShowExcle) { //建立Excel对象 Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Exce
阅读全文
摘要:SVCUtil.exe 目录:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin 下生成代码命令:SvcUtil /language:c# /out:HellowWCFServiceClient.cs /config:App.conifg http://localhost:8371/HelloWCFService上面命令指定了要生成代码的语言、代码文件和配置文件名、WCF服务端地址(注意:运行命令式必须确定WCF服务端正在运行中)
阅读全文
摘要:http://blog.csdn.net/fengloveyun/archive/2009/08/16/4453540.aspx摘要: 介绍了Microsoft用于构建分布式面向服务架构系统的新一代框架WCF的体系结构与技术要素,并通过开发一套即时通信软件展现了基于WCF构架开发分布式应用程序的编程步骤与技巧。关键词:WCF;SOA;分布式;即时通信 一、前言 自从在微软提出.NET战略以来,就针对建立企业级的分布式应用先后推出了一系列产品和技术,包括:ASP.NET Web服务、.NET Remoting、Message Queuing以及Enterprise Service等。这些技术为基
阅读全文
摘要:每一个客户端通道都要做消息的预调用处理。这个链的正确结构和组成在很大程度上依赖于绑定。例如,其中一个通道负责编码该消息(二进制,文本或MTOM),一个通道负责传递安全调用上下文,一个通道负责传播客户端事务,一个通道负责管理可靠的会话,一个通道负责加密消息正文(如果这样配置的话),等等。客户端的最后一个通道是传输通道,它负责把消息由经配置的传输传送到宿主。在宿主端,该消息也经过一个通道链,从而实现宿主端消息的预调用处理。在宿主端的第一个通道是传输通道,它接收来自传输的消息。随后的通道执行各种任务,例如解密消息正文、译解消息、把传播的事务设置到执行线程、设置安全主管、管理会话和激活服务实例。最后一
阅读全文
摘要:老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的信箱里。这和Socket模型非常类似。下面我就以老陈接收信件为例讲解Socket I/O模型~~~一:select模型老陈非常想看到女儿的信。以至于他每隔10分钟就下楼检查信箱,看是否有女儿的信~~~~~在这种情况下,"下楼检查信箱"然后回到楼上耽误了老陈太多的时间,以至于老陈无法做其他工作。select模型和老陈的这种情况非常相似:周而复始地去检查......如果有数据......接收/ 发送.......使用线程来select应该是通用的做法:http://tangfeng.j
阅读全文
摘要:WCF IDisposable接口应用功能详解WCF客户端具体搭建方法解析WCF扩展点在自定义运行时使用两个基本WCF应用技巧总结引用WCF服务正确实现方法介绍WCF实例上下文是对服务实例的封装,是WCF管理服务实例生命周期的依托。我们先撇开WCF,来简单介绍一下在托管的环境中,公共语言运行时(CLR)是如何进行托管对象的生命周期的。在一个托管应用程序中,我们通过不同的方式创建一个托管对象(比如通过new关键字、反射或反序列化等)时,CLR会在托管堆为该对象开辟一块内存空间。对象的本质就是存储于某块内存中数据的体现,对象的生命周期终止于相应内存被回收之时。对于CLR来说,负责对托管堆(在这里主
阅读全文
摘要:由于WCF的并发是针对某个封装了服务实例的InstanceContext而言的(参考《并发的本质》《并发中的同步》),所以在不同的实例上下文模式下,会表现出不同的并发行为。接下来,我们从具体的实例上下文模式的角度来剖析WCF的并发处理机制,如果对WCF实例上下文模式和实例上下文提供机制不了解的话,请参阅《WCF技术剖析(卷1)》第9章。 为了使读者对采用不同实例上下文对并发的影响有一个深刻的认识,会创建一个简单的WCF应用,并在此基础上添加监控功能,主要监控各种事件的执行时间,比如客户端服务调用的开始和结束时间,服务操作开始执行和结束执行的时间等等。读者可以根据实时输出的监控信息,对WCF的并
阅读全文
摘要:一个WCF服务向WCF客户提供一些可用的功能。WCF客户通过终结点(endpoint)来访问WCF服务。因此,一个WCF服务至少要包含一个终结点。如果允许服务端反过来调用客户端的代码(即所谓回调callback),则客户端也应该提供回调所使用的终结点。 WCF服务与客户程序要想成功通讯,必须遵循特定的协议,WCF规定,在WCF服务与WCF客户间发送的所有消息都遵循SOAP协议。 终结点与它的“ABC”每个终结点都向外界提供一个服务的访问点。 每个终结点都定义着一个地址(A:Address),指明“到哪儿可以找到服务”。绑定(B:Binding)指明“如何与服务进行通讯”。契约(C:Contra
阅读全文
摘要:1 使用场合:在WCF Data Contract中如果存在向下造型的情况时你就会用到KnownTypeAttribute类以保证在反序列化时引擎能知道应该使用哪个具体的类型。主要有以下几种典型的情况:1 发送的数据契约类型是从接收端期望接收的数据契约类型继承的。2 声明的数据类型是接口(注意:集合接口除外,具体请看稍后的WCF Data Contract之集合类型)3 声明的数据类型是Object.4 在数据契约中的数据成员包含前面三种的任何一种时。例如:在Hashtable内部使用Object来保存实际对象,所以在接收端并不能确定其中对象的实际类型,此时你需要增加KnownType来告诉反
阅读全文
摘要:一.概述在Visual Studio 6.0中编写串口通讯程序,一般都使用MicrosoftCommunicationControl(简称MSComm)的通讯控件,只要通过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通讯。但在Microsoft.Net技术广泛应用的今天,Visual Studio.Net没有将此控件加入控件库,所以人们采用了许多方法在Visual Studio.Net来编写串口通讯程序:第一种方法是通过采用Visual Studio 6.0中原来的MSComm控件这是最简单的,最方便的方法,但需要注册;第二种方法是采用微软在.NET推出了一个串口控件,基于.NE
阅读全文
摘要:SerialPort中串口数据的读取与写入有较大的不同。由于串口不知道数据何时到达,因此有两种方法可以实现串口数据的读取。一、线程实时读串口;二、事件触发方式实现。由于线程实时读串口的效率不是十分高效,因此比较好的方法是事件触发的方式。在SerialPort类中有DataReceived事件,当串口的读缓存有数据到达时则触发DataReceived事件,其中SerialPort.ReceivedBytesThreshold属性决定了当串口读缓存中数据多少个时才触发DataReceived事件,默认为1。另外,SerialPort.DataReceived事件运行比较特殊,其运行在辅线程,不能与
阅读全文
摘要:这两天在研究怎样在 C# 中使用MSChart组件来绘制柱状、饼状图形,由于以前没有接触过MSChart组件,关于这方面的资料也没有;于是就到网上狂搜一把,找到了一些相关的资料,但资料都写的不完整; 现在将自己摸索的心得整理一下:1、将MSChart control的引用添加到工具栏。 选择“工具->选择工具箱项”, 然后切换到“COM 组件”页,选择“Microsoft Chart Control 6.0 (OLEBD)”,点击确定后就可以成功加载控件了。2、添加引用,using MSChart20Lib;3、定义图表样式 //图表标题 MSChartBar.TitleText = &
阅读全文
摘要:首先当然需要下载MSChart 下载地址而且微软官方有个很不错的实例代码可以帮助学习使用MSChart 下载地址,当然不用我说.大家也知道的.需要NET Framework 3.5以及配合VS2008 sp1来使用了,至于vs2010好像还没有发现MSChart ,希望有知道的朋友给点帮助. 安装完MSChart后 在vs2008报表一栏里会出现MSChart控件..二话不说 拖到页面.自动生成如下代码: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.co
阅读全文
摘要:http://www.cnblogs.com/huangcong/archive/2010/05/27/1744843.html
阅读全文
摘要:DotNetBar是一组用于.NET Framework环境下的一组组件集,利用该组件集能够打造绚丽并且实用的应用程序界面,给开发人员提供极大的便利。关于DotNetBar,详情请参考其官方网站:http://www.devcomponents.com该组件集目前最新版本是8.8(不知最近有没有升级版本),可以从该网站上下载到试用期为一个月的试用版本。 正常安装了DotNetBar组件集(前提:已经安装了Visual Studio)之后,会在Visual Studio的工具箱窗口新增一个DotNetBar选项卡,里面是一系列的DotNetBar控件,如图1所示。在安装目录下有一系列的源码示例可
阅读全文
摘要:Oracle 10g 的创建用户名 1、 linux 下 oracle 的启动 以 oracle 身份登录 启动 lsnrctl start 登录 sqplus /nolog 连接数据库 connect /as sysdba 启动数据库 startup 关闭数据库 shutdown immediate 2、 在数据中创建用户名 启动数据库后创建用户名 连接超级用户 connect system/admin system 系统用户名字 admin 密码 创建用户名字 create user sha identified by admin 用户名: sha 密码 :admin 可以写 Defaul
阅读全文
摘要:今 我的电脑上之前安装了Oracle10g database,配置完变量用PL/SQL操作一切OK .当又安装完Oracle10g client后,问题出现了,用PL/SQL登陆时反复提示:ORA-12154: TNS: could not resolve the connect identifier specified 对于初学者,我反复的在"Oracle - OraDb10g_home3"下的"配置和移植工具"中的"Net Manager"中查找问题所在.请教高手,也没有召见问题的原因.我郁闷了,随后自己决定来搞定这个问题. 我做
阅读全文
摘要:今天连接一个以前正常连接的Oracle数据库,突然报错ORA-12638,说身份证明检索失败。感觉很奇怪,后来一查,发现是因为我电脑是出于Windows的Domain中的,而sqlnet文件中指定的认证方式是MTS,所以出错了。解决方法很简单,直接把sqlnet文件给删除了后,再一次连接数据库,就正常了。
阅读全文
摘要:Oracle的导出实用程序(Export utility)允许从数据库提取数据,并且将数据写入操作系统文件。exp使用的基本格式:exp[username[/password[@service]]],以下例举exp常用用法。 1. 获取帮助 exp help=y 2. 导出一个完整数据库 exp system/manager file=bible_db log=dible_db full=y 3. 导出数据库定义而不导出数据 exp system/manager file=bible_db log=dible_db full=y rows=n 4. 导出一个或一组指定用户所属的全部表、索引和其
阅读全文
摘要:以前都习惯用 imp/exp 命令导入/导出oracle数据的 用pl/sql developer 界面化操作也挺方便的: 1、点击Tools--Export User Objects 这种方式可以导出当前用户拥有的所有对象,包括表、视图、触发器、同义词等等,对于表,只能导出表结构,不能导出数据,选中要导出的对象,设置好导出的路径和各个参数后,点击Export就OK PS:这种方式还可以导出其他用户的对象,在下面user下拉框中选择要用户就可以,默认是系统当前登录用户 2、如果想将表中数据一起导出,可用Tools--Export Tables,这种方式导出的文件,本身就带着创建表结构的sql语
阅读全文
摘要:PLSQL Developer 给oracle 10g 创建表空间通过pl/sql登录到Oracle数据库上,然后执行菜单:文件/新建/命令窗口 ,打开一个命令窗口然后在该命令窗口中执行脚本创建和删除表空间创建表空间Sql>create tablespace histdb datafile 'F:\oracle\product\10.2.0\histdb.dbf' size 200m autoextend on next 10m maxsize unlimited;Sql>alter database datafile 'F:\oracle\product\
阅读全文
摘要:http://hi.baidu.com/jackyljlj/blog/item/860b020f912df6296159f37b.htmlpl/sql developer:功能强,方便,快。用了之后绝对离不开它! 它的主要强项如下: 一.编辑表数据(浏览表数数据自然不在话下) 二.在sql plus下写长的语句时是否有些心烦,在这里一样搞定。 三.写存储过程,并调试。如果世界上没有sql/plus dev,真不知道怎么调试几百行的存储过程。说这种情况效率提高了十倍绝不为过吧。 下面具体说明:一。左边的浏览窗口选择 tables ,会列出所有的表,选择表右击鼠标选中菜单"Edit Da
阅读全文
摘要:Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接(通过Net Configuration Assistant添加正确的服务命名,其实你可以想成是客户端与服务器端 修了条路,然后数据就可以被拉过来了)这样你可以把数据导出到本地,虽然可能服务器离你很远。你同样可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能你可以构建俩个相同的数据库,一个用来测
阅读全文
摘要:1.命名空间:System.Security.Cryptography程序集:mscorlib(在 mscorlib.dll 中)----------------------------------------------------继承层次结构-System.Object----- System.MarshalByRefObject--------- System.IO.Stream-------------System.Security.Cryptography.CryptoStream2.------------------------------- 公共语言运行库使用面向流的设计进行加
阅读全文
摘要:http://www.cnblogs.com/slimboy/archive/2009/12/29/1635131.html
阅读全文
摘要:自己做数字签名加密解密这就了,对这些东西有一点点懂,可能自己整理的有些错误。 C#在using System.Security.Cryptography下有 DESCryptoServiceProvider RSACryptoServiceProvider DESCryptoServiceProvider 是用于对称加密 RSACryptoServiceProvider是用于非对称加密 对称加密的意思:有一个密钥 相当于加密算法,加密用它来加密,解密也需要用到它。因为加密解密都是用同一个密钥所以叫对称加密。 对称加密有一个坏处只要拥有密钥的人都可以解密。 非对称加密:就是有2个密钥,一个是公钥
阅读全文
摘要:下面的示例使用 DESCryptoServiceProvider 类将一些数据加密到内存,然后解密数据。// This sample demonstrates using a key based on the cryptographic service provider (CSP) version// of the Data Encryption Standard (DES)algorithm to encrypt a string to a byte array, and then // to decrypt the byte array back to a string.using Sys
阅读全文
摘要:在C#的类中,有的类加上了[AttributeUsage(AttributeTargets.Property)]这个是起什么作用的呢?AttributeTargets 枚举 成员名称 说明 All 可以对任何应用程序元素应用属性。 Assembly 可以对程序集应用属性。 Class 可以对类应用属性。 Constructor 可以对构造函数应用属性。 Delegate 可以对委托应用属性。 Enum 可以对枚举应用属性。 Event 可以对事件应用属性。 Field 可以对字段应用属性。 GenericParameter 可以对泛型参数应用属性。 Interface 可以对接口应用属性。 M
阅读全文
摘要:编程访问文件是通过文件流对象进行的,当应用程序需要访问文件时,必须先创建一个文件流对象,此流对象和文件是一一对应关系。在.NET中,使用抽象基类System.IO.Stream代表流,它提供Read和Write两个方法。由于数据流的有序性,因此流对象还有一个读写指针,为此,Stream类还有一个Seek方法用于移动读写指针。FileStream对象的数据来自文件,而MemoryStream对象的数据来自内存缓冲区。这两个类都继承自Stream类。MemoryStream的数据来自内存中的一块连续区域,这块区域称为“缓冲区(Buffer)”。可以把缓冲区看成一个数组,每个数组元素可以存放一个字节
阅读全文
摘要:因为要求的压缩和解压非常简单,只有一级目录,而且文件很小,就没有使用SharpZipLib而是自己用.Net 2.0中的GZipStream类写了个简单的。将保存每个文件内容的byte数组和文件名的一个类型的示例放入arraylist里,再对其序列化,压缩序列化的流并保存为压缩包。其实对于多级目录在压缩时对其文件进行递归并在解压时根据文件名称和路径重新构建文件目录就也可以实现了。usingSystem;usingSystem.Text;usingSystem.Runtime.Serialization;usingSystem.Runtime.Serialization.Formatters.B
阅读全文
摘要:WCF 提供了三种实例上下文模式:PreCall、PreSession 以及 Single。开发人员通过 ServiceBehavior.InstanceContextMode 就可以很容易地控制服务对象的实例管理模式。而当 WCF 释放服务对象时,会检查该对象是否实现了 IDisposable 接口,并调用其 Dispose 方法,以便及时释放相关资源,同时也便于我们观察对象释放行为。1. PreCall在 PreCall 模式下,即便使用同一个代理对象,也会为每次调用创建一个服务实例。调用结束后,服务实例被立即释放(非垃圾回收)。对于不支持 Session 的 Binding,如 Basi
阅读全文
摘要:http://www.cnblogs.com/artech/tag/WCF/default.html?page=3wcf技术解析作者博客
阅读全文
摘要:DirectoryEntry是.Net给我们的一大礼物,他的名字我们就知道他的功能--目录入口。使用过ADSI的人都知道操作IIS,WinNT这些时,我们还需要提供他们的Path,操作IIS时,这个Path的格式为:IIS://ComputerName/Service/Website/DirectoryComputerName:即操作的服务器的名字,可以是名字也可以是IP,经常用的就是localhost Service:即操作的服务器,IIS中有Web,也有FTP,还有SMTP这些服务,我们主要是操作IIS的Web功能,因此此处就是"W3SVC",如果是FTP则应是&quo
阅读全文
摘要:最近一个项目,c#+.net3.5做的,代码管理用的TFS,开发小组配备不是很齐全,没有专门的测试人员,加上组员们对TFS不熟悉,有的还是java转过来的,于是整理了一下以前的规范,强制大家执行,看了一下网上的,这方面资料也不多,粘上来献丑了 1)开发平台的约定 a)开发操作系统环境和最终用户使用环境(包含Service Pack版本号)开发环境:Windows2003SP2 Windows7用户环境:Windows2003SP2 SP1 WinXPb)开发工具版本Vs2008SP1 + TFS团队资源管理器 c)数据库类型已经版本SQLServer2008 d)版本控制工具TFS e)开发规
阅读全文