
.Net
文章平均质量分 86
#六脉神剑
新的旅途,期待你的加入。
展开
-
用加密狗控制软件的授权(C#)
加密狗授权方式介绍 每只加密狗都有一个固定的序列号,并且一般是无法修改的。软件运行时读取加密狗的序列号进行判断,序列号通过验证后才能正常使用软件。 选购一套加密狗开发套件 我选购了SaftNet的USB软件狗,入手后查阅开发资料(不同品牌的加密狗开发资料一般都不同),整理需要用到的开发资源如下: SoftDogSetup.dll:提供加密狗驱动相关操作的DLL 需要用到原创 2010-01-21 15:52:00 · 19800 阅读 · 6 评论 -
课件播放器2.0
能够支持AICC,SCORM类型的elearning课件的离线播放和学习状态跟踪。效果图原创 2010-09-30 16:42:00 · 5194 阅读 · 6 评论 -
大文件上传,支持续传(ASP.NET MVC2+Flex)
实现原理客户端读取文件流,把文件分成多份数据,然后一份一份向服务端发送。服务端接收数据,写入到服务端文件。定义上传文件的服务端接口(ASP.NET MVC2)主要接口获取上传文件:服务端生成一个文件名返回给客户端,确保所有用户上传时文件名不冲突。分段上传文件:服务端接收后写入到文件流,返回服务端已上传的文件长度给客户端。取消上传:删除服务端文件, 避免积累大量无效的上传文件。FileUploadController源码:using System;using System.原创 2010-11-28 18:31:00 · 7093 阅读 · 10 评论 -
分布式事务——可回滚的文件操作
在最近的开发中,遇到一个服务要执行多种类型操作的需求,例如:先执行1个文件操作,再执行2个数据库操作。事务一致性要确保这1个文件操作和2个数据库操作必须同时执行或同时不执行。try{ using (TransactionScope scope = new TransactionScope()) { //文件原创 2011-06-21 17:04:00 · 4585 阅读 · 0 评论 -
C#——SQLite速成
为什么我需要SQLite* 轻巧灵活,基于单个数据库文件,方便创建、移动,能方便的进行数据的分类存储(按业务、按功能、按日期、按客户等),非常适合与灵活的系统搭配使用。* 部署容易,.NET环境只需一个dll文件(Access可能需要安装MDAC)。* 开源。 SQLite开发环境与开发资料的准备.Net SQLite数据库驱动:System.Data.SQLite.dll原创 2011-10-20 15:49:28 · 37298 阅读 · 3 评论 -
EBMIDE——服务脚本IOS(二)
服务的嵌套调用把通用的服务脚本抽出来配置成独立的子服务,然后提供给其他服务内部进行调用,这样能够避免相同逻辑的脚本重复编写。服务嵌套调用需要注意的地方:* 服务的上下文:子服务参数的传入/传输* 服务嵌套调用时的异常处理和事务处理* 避免互相嵌套调用产生死循环 服务嵌套调用定义原创 2011-08-02 14:52:56 · 1836 阅读 · 0 评论 -
EBMIDE——服务调用
前言EBMIDE——服务脚本IOS前篇文章介绍了服务脚本的定义,下面介绍如何进行服务的调用。 服务已经定义了所需要的输入参数in和输出参数out,服务调用则需要向服务传输正确的输入数据,服务调用完成后以相同的数据格式返回输出。 服务调用数据包的定义服务调用数据包-->invokeservice="ServiceName"> 服务调用输入--> i原创 2011-06-25 19:32:00 · 1815 阅读 · 0 评论 -
Flex:Web报表引擎——MyReport 2.1.0.1 (免Flex开发集成版)+.Net集成示例源码
MyReport报表引擎(免Flex开发集成版)的使用场合适用于以传统html构建的系统,希望集成MyReport报表引擎的报表预览、打印和报表设计功能,并且不需要进行Flex相关的二次开发的用户。 MyReport报表引擎(免Flex开发集成版)的集成方式采用通过超链接跳转,在新的浏览器窗体打开MyReport报表预览或MyReport报表设计页面的方式。 M原创 2010-11-10 23:02:00 · 6195 阅读 · 1 评论 -
EBMIDE——服务脚本IOS(三):IOS语言
IOS简介IOS是In/Out Script(输入/输出脚本)的简称,在我的设计中,用in,out,script3个节点来描述一个服务调用。 目前的问题目前的IOS脚本部分是用XML节点来描述的,这样做降低了脚本语法的解析难度。但是,带来的问题是,要遵循xml文档语法,在属性里编写表达式时要避开双引号,语法不够简便等导致编写服务时不方便。所以,需要抛开XML的约束,让IOS成为一种原创 2011-08-13 19:30:12 · 3210 阅读 · 2 评论 -
EBMIDE——服务脚本IOS
前言之前,想到这样一个情景,用一个脚本来描述一个服务的操作,这样做的好处是,业务逻辑落到了配置文件。业务变化时只需通过修改配置,而不需要重新编译系统。最近几天,由于工作需要,转到了服务器的研发,刚好碰上这一应用场合,终于有机会完成这一脚本的设计。 IOS简介IOS是In/Out Script(输入/输出脚本)的简称,在我的设计中,用in,out,script3个节点来描述一原创 2011-06-21 21:39:00 · 2367 阅读 · 0 评论 -
我的HTTP服务器(2)
上一篇:我的HTTP服务器 自从开发了属于自己的http服务器,随着功能的逐渐完善,一个实用的技术框架逐渐形成。前端实用flex技术平台发布应用,与用户进行交互。后端http服务器处理flex前端的http请求。自定义的http服务器拥有最好的灵活性,直接处理http请求,而不用进行页面的解析。当http请求静态文件时,返回文件流。当http请求业务时,则直接解析请求参数,返回业务结果(与java平台的servlet相似)。便于部署、维护:在客户的windows(服务器)上,安装原创 2010-08-24 16:35:00 · 2501 阅读 · 0 评论 -
开发高性能的Socket服务器
要编写高性能的Socket服务器,为每个接收的Socket分配独立的处理线程的做法是不可取的,当连接数量很庞大时,服务器根本无法应付。要响应庞大的连接数量,需要使用IOCP(完成端口)来撤换并处理响应。.net framework的System.Net.Sockets.Socket 类有一组xxxAsync方法是封装了IOCP的处理,用于编写高性能Socket应用程序,xxxAsync该组方法需要结合SocketAsyncEventArgs类来使用,下面是MSDN参考资料,里面有一个详细的例子:ht原创 2010-08-17 15:28:00 · 11686 阅读 · 2 评论 -
基于Xml配置的ORM引擎 Part1——数据实体
ORM引擎是WebAPI引擎生成系统的其中一个子模块,本章主要介绍ORM引擎的数据实体部分的设计。 数据实体数据实体是指映射到数据库中某一个数据表的对象,对象的属性映射数据表的对应的字段,对象的属性数目与数据表字段数目一致。(如果对象包含2个以上数据表的字段映射时叫数据查询,这个部分以后再进行介绍)。数据实体是执行插入、更新、删除、单表查询数据库操作的基本数据单位。Xml映射文件格式(数据实体部分) ORM引擎架构 XmlMappingEntity,XmlMappi原创 2010-06-23 16:02:00 · 2941 阅读 · 0 评论 -
制作SCORM课件离线播放器(C#)
概述 SCORM标准的课程是e-learning比较常用的标准,但课程要放到LMS浏览才看到课件数据的交互很不方便,下面介绍.net写的SCORM课件播放器,方便离线浏览SCORM课程或用于SCORM的课件测试。 主要实现 建立winform项目,向窗体添加web browser控件,添加窗体的Load,FormClosing事件 using System; using Sys原创 2010-02-09 11:02:00 · 8874 阅读 · 11 评论 -
DataTable还是IList
二进制序列化的情况在远程系统中,经常需要传输集合类型的数据结构,DataTable和IList是比较常用的2种集合类型,下面对这2种数据类型的二进制序列化作一个测试定义一个测试的类using System;using System.Collections.Generic;using System.Text;using System.Data;namespace WinT原创 2009-12-16 14:44:00 · 2710 阅读 · 1 评论 -
我的系统建模工具-EasyStreet 1.0
技术平台:.net 作品介绍:实用的建模工具,能够生成数据层项目代码,生成数据库、数据库脚本,结合内置完善的ORM引擎,能够快速建立管理系统的业务逻辑。输出的数据层可维护性高,扩展容易,支持CS、BS、单机3种模式应对不同结构的管理系统。一般管理软件系统建模初期,对表和字段的频繁改动,导致各层代码的频繁改动,浪费不必的时间和精力,而该工具能够自动完成上述的操作,提高开发效率。 主界面原创 2009-12-25 10:59:00 · 2533 阅读 · 0 评论 -
pdf to swf
使用swftools的pdf2swf.exe命令行来完成这项操作,转换效果理想,支持as3,swftools官网:http://www.swftools.org/下面是根据使用需要设计的2个方法:/// /// 获取pdf文件的页数/// public static int GetPageCount(string pdfPath){try{byte[] buff原创 2010-01-06 10:01:00 · 3370 阅读 · 0 评论 -
HTTP服务器开发教程
最近因为项目需要,必须自己实现一个HTTP服务器的部分功能。需求大概是这样的,winform里使用webrowser控件显示一个本地的html页面,同时winform启动http服务,本地html页面里通过javascript使用XMLHttpRequest对象向winform进行http通信,交互数据。现在,该项目功能基本实现了,把HTTP服务器部分提取出来分享一下,并提供相关源码下载。HTTP服务器开发教程启动HTTP服务器代码,创建Socket侦听端口publicvoid Star原创 2010-08-07 09:42:00 · 14367 阅读 · 0 评论 -
Socket的正确关闭(改良版)
TIME_WAIT状态如果服务端的Socket比客户端的Socket先关闭,会导致客户端出现TIME_WAIT状态,占用系统资源。 所以,必须等客户端先关闭Socket后,服务器端再关闭Socket才能避免TIME_WAIT状态的出现。判断客户端Socket的关闭最近试验发现,当客户端Socket关闭时,服务端的Socket会接收到0字节的通知。private int Receive(StringBuilder sb){ int read = 0, total原创 2010-08-11 12:02:00 · 59582 阅读 · 9 评论 -
我的HTTP服务器
技术平台:.net 作品介绍:基于Sokect技术构建目前只支持静态文件,功能正在逐步完善…轻量级的HTTP服务器,功能控制、扩展方便,能够很容易就把代码集成到其他winform应用。 效果图 用IE访问 欢迎交流MSN:hunk.cai@hotmail.comQQ:157859303有兴趣想开发自己的HTTP服务器的,请参考本人另一文章,有相关源码:HTTP服务器开发教程原创 2010-08-11 13:02:00 · 4132 阅读 · 0 评论 -
C# 4.0开发体验——方法参数默认值
private IDataReader SelectIDataReaderByQueryParams(IXmlMappingEntity entity, QueryParam[] queryParams = null, string sortExpression = null, SortDirection sortDirection = SortDirection.Ascending, bool searchInPrimaryKeys = false){//内部实现忽略 }原创 2010-06-22 15:32:00 · 12434 阅读 · 0 评论 -
WebAPI引擎生成系统的设计
项目背景Web RIA应用的一个基本特点是,前端和后端要分离,前端只做界面操作和调用webapi,后端只提供http webapi调用。后端不依赖于前端的实现,基于http协议,随便用一个浏览器在地址栏敲一下都能进行webapi的调用。前端要依赖于webapi的定义。现在都在炒作"云计算","云"要成功开花结果的其中一个必要条件就是要有大量的web应用或web RIA应用,现在许多软件厂商都把软件"搬上"web。 WebAPI引擎生成系统要解决Web RIA应用后端的开发问题,主要目的是:屏原创 2010-06-22 11:06:00 · 5100 阅读 · 0 评论 -
NLog使用教程
1.引入NLog.dll,这里使用的版本如下:2.建立NLog.config文件NLog.config文件配置如下(常用配置):<?xml version="1.0" encoding="utf-8" ?><nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.or...原创 2018-02-11 10:56:58 · 3048 阅读 · 1 评论