博客园 - henry
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=166979
2011-06-13T06:36:47Z
henry
https://www.cnblogs.com/henryfan/
feed.cnblogs.com
https://www.cnblogs.com/henryfan/archive/2011/06/13/2079700.html
Smark.Net.Tcp.XmlService性能测试程序 - henry
Smark.Net.Tcp.XmlService是基于Smark.Net.Tcp基础进行XML封装处理的开源的tcp组件,组件提供了一对象发送和基于action绑定的处理机制,使基于socket编写网络就更应更轻松.如果你的应用在几千长连接中要处理几千请求处理.那组件完全满足你的要求,如果你想要更高的性处理就可以考虑Smark.Net.Tcp,相信他的性能可以满足你大部分应用的需要.
2011-06-13T06:37:00Z
2011-06-13T06:37:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】Smark.Net.Tcp.XmlService是基于Smark.Net.Tcp基础进行XML封装处理的开源的tcp组件,组件提供了一对象发送和基于action绑定的处理机制,使基于socket编写网络就更应更轻松.如果你的应用在几千长连接中要处理几千请求处理.那组件完全满足你的要求,如果你想要更高的性处理就可以考虑Smark.Net.Tcp,相信他的性能可以满足你大部分应用的需要. <a href="https://www.cnblogs.com/henryfan/archive/2011/06/13/2079700.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2010/08/30/1812158.html
基于Flex的http简易文件管理工具 - henry
发布基于Flex表现管理的http简易文件管理工具,后台使用Smark的Web服务组件功能。* 1.0** 支持多文件同时上传和下载** 支持快捷键操作** 支持Winrar在线压缩和解压** 支持用户配置Flex Code SVN地址https://smark.svn.codeplex.com/svn/FlashBuilder/Smark.HttpFileServer/ C# Code SVN地...
2010-08-29T16:23:00Z
2010-08-29T16:23:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】发布基于Flex表现管理的http简易文件管理工具,后台使用Smark的Web服务组件功能。* 1.0** 支持多文件同时上传和下载** 支持快捷键操作** 支持Winrar在线压缩和解压** 支持用户配置Flex Code SVN地址https://smark.svn.codeplex.com/svn/FlashBuilder/Smark.HttpFileServer/ C# Code SVN地... <a href="https://www.cnblogs.com/henryfan/archive/2010/08/30/1812158.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2010/07/07/1773000.html
性能的瓶颈到底在那呢? - henry
最近在写c# socket tcp组件碰到一个让我很烦恼事情,秒处理消息总会到一定值的情况产生瓶颈。刚开始大概秒处理2000消息以后会生成瓶颈,经过优化后秒处理消息达到5000后又来了。。。秒处理5000前CPU站用率会在10%内,当到达秒处理消息6000后CPU会涨到60%。。。不知道c# socket tcp到底有多少处理能力。。。那位朋友有相关测试数据和代码能否提供一下参考.测试cpu是q8...
2010-07-07T09:00:00Z
2010-07-07T09:00:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】最近在写c# socket tcp组件碰到一个让我很烦恼事情,秒处理消息总会到一定值的情况产生瓶颈。刚开始大概秒处理2000消息以后会生成瓶颈,经过优化后秒处理消息达到5000后又来了。。。秒处理5000前CPU站用率会在10%内,当到达秒处理消息6000后CPU会涨到60%。。。不知道c# socket tcp到底有多少处理能力。。。那位朋友有相关测试数据和代码能否提供一下参考.测试cpu是q8... <a href="https://www.cnblogs.com/henryfan/archive/2010/07/07/1773000.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2010/06/30/1768505.html
运用Smark.SocketAsyncs扩展基于XML的TCP服务 - henry
XML作为业界标准所以很多语言平台都提供对XML很好的支持和处理,下面为Smark.SocketAsyncs扩展出简单XML支持。性能测试情况 向服务端发送一个CustomMessage并获取返回结果,在3台client上分别启到750个tcpclient接入,server端查看处理情况是:有2250个TCP接入,秒处理消息在2000以上;而CPU占用率在30%,内存占用在140Mhttp://s...
2010-06-30T09:21:00Z
2010-06-30T09:21:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】XML作为业界标准所以很多语言平台都提供对XML很好的支持和处理,下面为Smark.SocketAsyncs扩展出简单XML支持。性能测试情况 向服务端发送一个CustomMessage并获取返回结果,在3台client上分别启到750个tcpclient接入,server端查看处理情况是:有2250个TCP接入,秒处理消息在2000以上;而CPU占用率在30%,内存占用在140Mhttp://s... <a href="https://www.cnblogs.com/henryfan/archive/2010/06/30/1768505.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2010/06/23/1763491.html
运用Smark.SocketAsyncs方便实现数据交互服务 - henry
Smark.SocketAsyncs是通过SocketAsyncEventArgs对Socket进行包装的处理程序,暂时只封装了对Tcp的支持。以下是通过Smark.SocketAsyncs封装一个简单的数据交互服务。1)制定基础数据传输描述实现消息转换适配器代码 Code highlighting produced by Actipro CodeHighlighter (freeware)htt...
2010-06-23T04:27:00Z
2010-06-23T04:27:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】Smark.SocketAsyncs是通过SocketAsyncEventArgs对Socket进行包装的处理程序,暂时只封装了对Tcp的支持。以下是通过Smark.SocketAsyncs封装一个简单的数据交互服务。1)制定基础数据传输描述实现消息转换适配器代码 Code highlighting produced by Actipro CodeHighlighter (freeware)htt... <a href="https://www.cnblogs.com/henryfan/archive/2010/06/23/1763491.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2010/06/08/1753926.html
实现分布式对象锁 - henry
在数据操作中经常需要锁一个对象来达到数据同步的目的;在一个应用程序中锁对象比较方便,因为c#提供了线程锁对象功能,但如果是不同服务器的数据操作需要锁对象就必须做一个对象锁服务了。制定功能方法:Enter(string owner,string id, int milliseconds)获取对象锁,直到获取拥用权再往下走owner:锁的拥有者id:锁的标识milliseconds:锁对象的时间,超过...
2010-06-08T05:18:00Z
2010-06-08T05:18:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】在数据操作中经常需要锁一个对象来达到数据同步的目的;在一个应用程序中锁对象比较方便,因为c#提供了线程锁对象功能,但如果是不同服务器的数据操作需要锁对象就必须做一个对象锁服务了。制定功能方法:Enter(string owner,string id, int milliseconds)获取对象锁,直到获取拥用权再往下走owner:锁的拥有者id:锁的标识milliseconds:锁对象的时间,超过... <a href="https://www.cnblogs.com/henryfan/archive/2010/06/08/1753926.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2010/05/18/1737853.html
发布一个C#实现的Asterisk的管理系统 - henry
协议:Apache License Version 2.0svn:https://smark.svn.codeplex.com/svn/Smark/Smark.Asterisk.Servicesl 主要功能 通过AMI和AGI来接管Asterisk的拔打控制,实现多台asterisk网内拔打可配置、对接电信移动可配置、回拔和预约回拔、拔打记录和费用结算等功能。进行程序测试的asterisk版本是:...
2010-05-17T19:07:00Z
2010-05-17T19:07:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】协议:Apache License Version 2.0svn:https://smark.svn.codeplex.com/svn/Smark/Smark.Asterisk.Servicesl 主要功能 通过AMI和AGI来接管Asterisk的拔打控制,实现多台asterisk网内拔打可配置、对接电信移动可配置、回拔和预约回拔、拔打记录和费用结算等功能。进行程序测试的asterisk版本是:... <a href="https://www.cnblogs.com/henryfan/archive/2010/05/18/1737853.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2010/05/11/1732460.html
asterisk使用SIP相互对接 - henry
当用户数量上去,单凭一台asterisk是很能支持庞大的用户群体,所以要根据用户量来部署多台asterisk来应付实际情况的需求.但部署多台asterisk所带来的一个问题就是A服务器的用户如果Call B服务器的用户呢?其实asterisk的设计者早已帮我们解决问题,以下是通过SIP把两台asterisk对接起来(不过官方推荐asterisk的对接用AIX).分别在192.168.1.21 和1...
2010-05-11T04:04:00Z
2010-05-11T04:04:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】当用户数量上去,单凭一台asterisk是很能支持庞大的用户群体,所以要根据用户量来部署多台asterisk来应付实际情况的需求.但部署多台asterisk所带来的一个问题就是A服务器的用户如果Call B服务器的用户呢?其实asterisk的设计者早已帮我们解决问题,以下是通过SIP把两台asterisk对接起来(不过官方推荐asterisk的对接用AIX).分别在192.168.1.21 和1... <a href="https://www.cnblogs.com/henryfan/archive/2010/05/11/1732460.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2010/04/28/1723129.html
开源一个基于Flex4+C#的个人信息管理程序 - henry
其实项目一开始就放到了codeplex,本来打算完成后成发布的,不过现有些事忙估计要完成的时间比较久,所以提前发布出来。项目采用Apache License,有兴趣的朋友可以参考或拿下来完善。SVN地址: https://smark.svn.codeplex.com/svn/FlashBuilder最终可以部署的WEB项目:https://smark.svn.codeplex.com/svn/Fl...
2010-04-28T08:53:00Z
2010-04-28T08:53:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】其实项目一开始就放到了codeplex,本来打算完成后成发布的,不过现有些事忙估计要完成的时间比较久,所以提前发布出来。项目采用Apache License,有兴趣的朋友可以参考或拿下来完善。SVN地址: https://smark.svn.codeplex.com/svn/FlashBuilder最终可以部署的WEB项目:https://smark.svn.codeplex.com/svn/Fl... <a href="https://www.cnblogs.com/henryfan/archive/2010/04/28/1723129.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2010/03/27/1698215.html
FlashBuilder4试用 - henry
很早之前就听说Flex Builder3的新版本FlashBuilder4的事情,由于没有出正式版所以一直没有下载来试用下,昨天听同说已经出了正式版所以下载拿用了一下.总体使用感觉还可以,IDE的速度明显比Flex builder3有所提高,不过提供的控件发生了变化,所以对应MXML名称空间也发生了改变有点不太适应.有些旧的控件已经在IDE的工具栏里找不到了,不过可以手动编写MXML里得到提示。代...
2010-03-27T02:35:00Z
2010-03-27T02:35:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】很早之前就听说Flex Builder3的新版本FlashBuilder4的事情,由于没有出正式版所以一直没有下载来试用下,昨天听同说已经出了正式版所以下载拿用了一下.总体使用感觉还可以,IDE的速度明显比Flex builder3有所提高,不过提供的控件发生了变化,所以对应MXML名称空间也发生了改变有点不太适应.有些旧的控件已经在IDE的工具栏里找不到了,不过可以手动编写MXML里得到提示。代... <a href="https://www.cnblogs.com/henryfan/archive/2010/03/27/1698215.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2010/01/19/1651430.html
这样的重构是否有必要呢? - henry
在写数据查询的业务逻辑里,经常需要对查询条件进行合并;对于条件的构造是否有必要构造一个新的类把条件构造分离出来提供其条件的重用性呢?首先看下代码: public IList<Balances> BalancesList( [Bind(Convert = typeof(ToEnum<BalanceState>))]BalanceState? state, DateTime? ...
2010-01-19T05:16:00Z
2010-01-19T05:16:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】在写数据查询的业务逻辑里,经常需要对查询条件进行合并;对于条件的构造是否有必要构造一个新的类把条件构造分离出来提供其条件的重用性呢?首先看下代码: public IList<Balances> BalancesList( [Bind(Convert = typeof(ToEnum<BalanceState>))]BalanceState? state, DateTime? ... <a href="https://www.cnblogs.com/henryfan/archive/2010/01/19/1651430.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2009/10/29/1592350.html
Asterisk2B用户管理逻辑设计 - henry
前时间一直在搞Asterisk,所以打算用Asp.net结合Flex做个Asterisk的业务系统,已经在Google Code申请了http://code.google.com/p/asterisk2b/ 由于用空闲时间来做,所以进度比较难以保证。在这里会慢慢的介绍在写Asterisk2B时对于业务的设计,第一步先由用户管理逻辑开始。 用户数据是系统的基础在Asterisk2B中也不例外,首先看...
2009-10-29T07:47:00Z
2009-10-29T07:47:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】前时间一直在搞Asterisk,所以打算用Asp.net结合Flex做个Asterisk的业务系统,已经在Google Code申请了http://code.google.com/p/asterisk2b/ 由于用空闲时间来做,所以进度比较难以保证。在这里会慢慢的介绍在写Asterisk2B时对于业务的设计,第一步先由用户管理逻辑开始。 用户数据是系统的基础在Asterisk2B中也不例外,首先看... <a href="https://www.cnblogs.com/henryfan/archive/2009/10/29/1592350.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2009/10/14/1583089.html
用JQuery UI dialog实现Alert和Confirm功能 - henry
JQuery UI dialog虽然可以实现Alert和Confirm功能,但每次都要定义相关dialog内容是比较麻烦的。如果只需要简单的调用ShowMsg(’内容’)这样就会省上很多事情,其实只要在JQuery UI dialog的基础上做些简单的工作就可以了。把功能封装到一个用户控件中,有需要直接引用就可以了。<%@ Control Language="C#" ...
2009-10-14T03:45:00Z
2009-10-14T03:45:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】JQuery UI dialog虽然可以实现Alert和Confirm功能,但每次都要定义相关dialog内容是比较麻烦的。如果只需要简单的调用ShowMsg(’内容’)这样就会省上很多事情,其实只要在JQuery UI dialog的基础上做些简单的工作就可以了。把功能封装到一个用户控件中,有需要直接引用就可以了。<%@ Control Language="C#" ... <a href="https://www.cnblogs.com/henryfan/archive/2009/10/14/1583089.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2009/10/13/1582611.html
Asterisk发起电话预约回拔 - henry
电话预约回拔主要由服务直接拔打客户电话号码,然后播放功能菜单,客户根据功能菜单输入相关的号码提供给服务器操作.不过这么语音服务应用范围还是很广的,如点歌系统,移动的10086语音服务等.不过要实现这功能之前还是要了解一下Asterisk.http://www.asterisk.org/以下是实现简单的预约回拔功能,在Asterisk配置简单的功能菜单:· 编辑extensions.con...
2009-10-13T08:57:00Z
2009-10-13T08:57:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】电话预约回拔主要由服务直接拔打客户电话号码,然后播放功能菜单,客户根据功能菜单输入相关的号码提供给服务器操作.不过这么语音服务应用范围还是很广的,如点歌系统,移动的10086语音服务等.不过要实现这功能之前还是要了解一下Asterisk.http://www.asterisk.org/以下是实现简单的预约回拔功能,在Asterisk配置简单的功能菜单:· 编辑extensions.con... <a href="https://www.cnblogs.com/henryfan/archive/2009/10/13/1582611.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2009/10/12/1581917.html
WOW工会DKP管理系统 - henry
用框架写了一个Wow的Dkp管理系统,支持多工会注册,支持多任务DKP单独管理,支持大脚和多玩的DKP插件数据导入。开源协议:Apache LicenseNBaoDKP.rar (1.66 mb)dkp.nbao.nethttp://smark.codeplex.com/活动记录查看 DKP数据导入 活动DKP情况 活动明细情况 公会成员查看 手工调整DKP信息
2009-10-12T10:29:00Z
2009-10-12T10:29:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】用框架写了一个Wow的Dkp管理系统,支持多工会注册,支持多任务DKP单独管理,支持大脚和多玩的DKP插件数据导入。开源协议:Apache LicenseNBaoDKP.rar (1.66 mb)dkp.nbao.nethttp://smark.codeplex.com/活动记录查看 DKP数据导入 活动DKP情况 活动明细情况 公会成员查看 手工调整DKP信息 <a href="https://www.cnblogs.com/henryfan/archive/2009/10/12/1581917.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2009/09/30/1576998.html
我的分页控件设计 - henry
数据分页在数据查询应用中是非常常用的,相信大部开发人员都使用过别人的或自己开发的。以下介绍一下本人自己开发的分页控件的设计思路。既然控件是负责分页那自然就有一个信息描述结构,控件通过信息结构进行相关内容输出。首先制定一个结构。[代码]以上接口提供了PageIndex, PageSize和RecordCount这三个属性基本满足了一个分页控件表现需要的数据信息。有了描述信息那就开始控件表现的描述,因...
2009-09-30T07:53:00Z
2009-09-30T07:53:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】数据分页在数据查询应用中是非常常用的,相信大部开发人员都使用过别人的或自己开发的。以下介绍一下本人自己开发的分页控件的设计思路。既然控件是负责分页那自然就有一个信息描述结构,控件通过信息结构进行相关内容输出。首先制定一个结构。[代码]以上接口提供了PageIndex, PageSize和RecordCount这三个属性基本满足了一个分页控件表现需要的数据信息。有了描述信息那就开始控件表现的描述,因... <a href="https://www.cnblogs.com/henryfan/archive/2009/09/30/1576998.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2009/09/25/1574222.html
实现一个JavaScript验证的Asp.net Helper - henry
做WEB应用在HTML里写JavaScript(JS)验证数据是正常的事情,但VS.NET对JS的智能感知支持远没有C#这么强大,因此在写JS写多了也是麻烦的事情。为了方便所以写了一个Helper方便生成js验证代码。先看下在应用中的代码: <form action="Register.aspx" method="post" onsubmit="return VRegister()">...
2009-09-25T10:53:00Z
2009-09-25T10:53:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】做WEB应用在HTML里写JavaScript(JS)验证数据是正常的事情,但VS.NET对JS的智能感知支持远没有C#这么强大,因此在写JS写多了也是麻烦的事情。为了方便所以写了一个Helper方便生成js验证代码。先看下在应用中的代码: <form action="Register.aspx" method="post" onsubmit="return VRegister()">... <a href="https://www.cnblogs.com/henryfan/archive/2009/09/25/1574222.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2009/09/17/1568707.html
Smark.Data 实体属性值描述 - henry
在实际应用中很多时候当属性没有值的情况下,在插入数据库时都希望设置一个默认值。Smark.Data提供属性默认值描述功能,开发人员可以拿Smark.Data内置的对象来描述属性默认值或者根据自己的需要实现默认值描述对象。定义基础描述类 [AttributeUsage(AttributeTargets.Property)] public abstract class ValueAttribute:A...
2009-09-17T10:29:00Z
2009-09-17T10:29:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】在实际应用中很多时候当属性没有值的情况下,在插入数据库时都希望设置一个默认值。Smark.Data提供属性默认值描述功能,开发人员可以拿Smark.Data内置的对象来描述属性默认值或者根据自己的需要实现默认值描述对象。定义基础描述类 [AttributeUsage(AttributeTargets.Property)] public abstract class ValueAttribute:A... <a href="https://www.cnblogs.com/henryfan/archive/2009/09/17/1568707.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2009/09/15/1566951.html
Smark.Data实体成员数据验证 - henry
Smark.Data支持通过Atteribute的方式来描述一个实体对象在数据保存前进行数据的有效验证,使用人员也可以通过扩展自己的Attribute实现新的验证方式。下面介绍一下这个验机制的实现和扩展。 在Smark.Data中所有实体必须继承DataObject,这个对象主要包装了一些简单的实体操作(详细代码可以到: http://smark.codeplex.com/ 获取)。先看一下Dat...
2009-09-15T06:07:00Z
2009-09-15T06:07:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】Smark.Data支持通过Atteribute的方式来描述一个实体对象在数据保存前进行数据的有效验证,使用人员也可以通过扩展自己的Attribute实现新的验证方式。下面介绍一下这个验机制的实现和扩展。 在Smark.Data中所有实体必须继承DataObject,这个对象主要包装了一些简单的实体操作(详细代码可以到: http://smark.codeplex.com/ 获取)。先看一下Dat... <a href="https://www.cnblogs.com/henryfan/archive/2009/09/15/1566951.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/henryfan/archive/2009/09/15/1566931.html
Smark.Data Part1 - henry
这一章主要介绍一下如何使用Smark.Data组件进行数据库操作;让使用者了简单了解一下Smark.Data的配置、实体类配置和简单的操作。在使用组件时程序必须引用Smark.Core和Smark.Data两个组件;其源代码可以到:http://smark.codeplex.com/下载。为了方便范例所使用的数据是Northwind.mdb.l 配置文件设置: <configSections...
2009-09-15T05:35:00Z
2009-09-15T05:35:00Z
henry
https://www.cnblogs.com/henryfan/
【摘要】这一章主要介绍一下如何使用Smark.Data组件进行数据库操作;让使用者了简单了解一下Smark.Data的配置、实体类配置和简单的操作。在使用组件时程序必须引用Smark.Core和Smark.Data两个组件;其源代码可以到:http://smark.codeplex.com/下载。为了方便范例所使用的数据是Northwind.mdb.l 配置文件设置: <configSections... <a href="https://www.cnblogs.com/henryfan/archive/2009/09/15/1566931.html" target="_blank">阅读全文</a>