互联网码农一枚
最近动手做一个项目,结果项目延期了,自己分析一下,大部分的时间花在了与项目中数据的持久化那一块了,觉得自己有点吃亏,原因是自己对Nhiberate不太熟,经常出错,并且,一个很小的项目,所有的东西加起来都不到1M,却因为引用了Nhibernate,加上Nhiberante必须用的几个DLLL很整个工程变得很大,觉得有点过分,所以想来想去,就决定做一个自己版的Nhiberate,这是第一个版本的
using System;using System.Collections.Generic;using System.Text;using System.Reflection;namespace learn.MyReflector...{ public class Task ...{ private int m_id; private DateTime
要在主程序中使用线程创建一个窗体,这个窗体要能接受事件但是使用如下方法创建的窗体,无法响应用户输入的事件,AsyncCallback myformshowcallback = new AsyncCallback(CreatAndShowForm); myformshowcallback.BeginInvoke(null, null, null); private void CreatAndS
在客户的机器上安装msde后,由于没有界面很难通过UI来进行配置了,所以只能通过各种各样的方法来取代UI界面 打开,TCP/IP网络的1433端口1.直观的方法,执行svrnetcn.exe 进行配置 可以通过在程序中操作注册表来实现位置: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/Super
在远程访问 Cassini中的应用程序会遇到403错误 出现这种情况是因为,Cassini中Request.cs文件中第93行中以一段代码,这一段代码就限制了Cassini只能用于本地,将这一段代码注释掉之后,就可以Cassini服务于远程机器了 // Limit to local requests only if (!_conn.IsLocal) {
nhibernate1.2 GA 是nhibernate中比较新的一个版本,在使用过程与过去的1.0中有点不同,完全按过去1.0的使用方法可能会出一点错 尤其是hbm文件使用1.0并写的比较简单的一种总是提示配置文件出错解决办法,1.在每一个属性上面都加上一个virtual 关键字2.<class name="NorthwindClasses.Category, Northwi
使用ResourceManager 类可以在运行时访问资源。ResourceManager 从具有特定的根目录名的公共源管理多个资源。并从程序集和资源文件检索资源。默认实现加载所有资源名称,然后按需加载值,把它们存储起来,以供以后使用。ResouceManger使用的内存比 ResourceSet 类少,假设并非加载所有的资源,但最初检索特定的资源可能要花比较长的时间。此外, Resourc
using System.Drawing.Printing;using System.Drawing;private void Test()...{ PrintDocument m_pdoc = new PrintDocument(); PaperSize psz = new PaperSize(); m_pdoc.PrinterSettings.PrinterName
Finisar.SQLite.SQLiteConnection 情况:我想存储少量的数据,在数据库, 2,并且使用nhibernate nhibernate对access的支持算不上好,所以我就选择使用了sqlite,但是同样的代码在ms sql server上能通过但就是就对sqlite通过不过,通过一步,步地跟踪发现sqlite的构造函数是如下的情况 public SQLiteD
<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Versi
一般情况下我们都经过拖动窗体的标题来达到改变窗体地位置的,但时有时为了做了特殊效果,不得不去除窗体的标题栏,这样如何改变窗体的位置就成了问题下在就介绍一种方法来达到这种目的 移动窗体#Region "移动窗体" Private x0, y0 As Integer Private Sub Form1_MouseMove()Sub Form1_MouseMove(ByVa
The simplest way to run a command is: System.Diagnostics.Process.Start ("cmd", @"/c copy c:/myfolder/*.* c:/mybackup"); You can get creative using System.Diagnostics.ProcessStartInfo... for instan
private void button2_Click(object sender, System.EventArgs e)...{ AsyncCallback m_test=new AsyncCallback(TestSleep); AsyncCallback m_wakeup=new AsyncCallback(WakeUp); ar=m_test.BeginInvo
面像连接地例子 使用同步套接字,一个server对应于一个client 同步套接字的解释: 在通过Socket进行连接、接收、发送操作时,客户机或服务器会暂停当前工作,处于等待状态,即一直等到有数据时才继续执行下面的语句。一般在阻塞方式下使用这种方式。可见,同步套接字适用于网络传输量不太大的情况。当网络传输量很大时,长时间的等待可能会让用户无法忍受。 在这个例子中,使用byte数组做
Seqpacket使用的是SCTP 协议 SCTP的发展历史和前景: SCTP实际上脱胎于TCP协议,很多协议过程,如拥塞控制,都和TCP如出一辙。但是一开始SCTP定位在信令传输,因此对实时性和安全行作了一些考虑,克服了TCP的一些固有缺陷。其诞生之初叫简单控制传输协议,基于UDP。历经13个版本的草案发展,形成RFC的时候,已经绝对不是一个简单协议了,各大通信公司都进行了多次BAKE O
从注册表中找到dns服务器的方法 public class cxyDns...{ public static string[] GetDns() ...{ RegistryKey m_machine=Registry.LocalMachine; string m_dnskey=@"SYSTEMCurrentControlSetService
System.Runtime.Serialization.Formatters.Soap 命名空间包含SoapFormatter 类,该类用于以SOAP 格式将对象序列化和反序列化。生成使用此命名空间中的类型的应用程序时,必须引用System.Runtime.Serialization.Formatters.Soap.dll 程序集。 using System;using
using NHibernate.Cfg;using NHibernate;using System;using System.Reflection;using System.Collections;namespace nhiber...{ /**//// <summary> /// 持久化类 /// </summary> public c
// State pattern -- Structural example using System;namespace DoFactory.GangOfFour.State.Structural...{ // MainApp test application class MainApp ...{ static void Main() ...{ //
SD中pad和view是比较的难以掌握的一个部分,因为其中的调用关系比较复杂,我没有直接去看代码,而是借用了http://www.cnblogs.com/michael-zhang/articles/629724.html中demo的一个部分,下边我就来说一个,这个如何使用sd做一个自己的pad和view 这个demo把系统中的代码给简化了一部分,看起来,分析起来比较直观 我们看到的是一
C#语言使用方便,入门门槛较代,上手容易,并且语法与C,java有很类似的地方,IDE做的也好,通用性好,是MS下一代开发的主要力量.但是其开源代码较少,类库不是十分完美,在架构方面还有一些需要做的工作. C++写的程序占用内存较小,直接对内存或者文件操作,因此一些关键的步骤或者一些最内层的循环在一定程序上还需要依赖C++. 下面我做一些简单的例子 第一步,用C++做一个可以导出函数
装饰者模式:"在不改变对象的前提下,动态增加其功能",不希望改变原有的类,或采用创建子类的方法增加功能.在修饰了一个对象后,其接口不应该发生变化,否则这个对象不能被原有调用者使用,修饰失去了意义,装饰者与被装饰者具有相同的接口 using System;using System.Data;namespace cxyDecorator...{ public abstract c
命令模式的一个好处是容易管理行为的权限,由于行为被封装为命令对象,因些可以使用命令与角色的权限对应,在命令执行时判断是否符合权限,进而实现对行为的安全控制 public abstract class Command...{ public Command() ...{ } public abstract void Execute();}public clas
封装用户的功能,对于执行功能的部分,用户接口是一个状态,不同用户决定了执行功能的不同 public class User...{ private string m_userRight; public string UserRight ...{ get ...{ return m_userRight;
制作一个SD的插件,SD的插件是由两个文件组成的即*.dll,*.addin*.addin文件主要集中放在addin目录下, 我们来看一下,一个插件的.addin文件 <AddIn name = "cxyMenu" author = "Administrator" url = "http://www.sun
加入SD受管理的菜单,不加命令,只加资源,这里要注意的一点是 <MenuItem id = "New" label = "新建文件" shortcut = "Control|N" icon = "40" class = "cxyBase.NewFileCommand"/> Label: 显示在menustrip上的文件shortcut: 调用这
在SharpDevelop中发现的Standalone属性,这是msdn上的解释 获取或设置独立属性的值。 如果 XML 文档所需要的所有实体声明都包含在文档内,则有效值为 yes,或者如果需要外部文档类型定义 (DTD),则为 no。如果 XML 声明中没有独立属性 (Attribute),该属性 (Property) 将返回 String.Empty。 下面的示例创建一个 XmlDe
SD是一款开源的.NET IDE,最新的版本是2.2地址是:http://www.icsharpcode.net/OpenSource/SD/SD最大的特点是,程序的核心是一插件管理系统,并不实现什么具体的功能,实现都是包含在插件中,这样的好处是,在进行较大的程序开发的时候,可以方便地分给每一个成员完成,并且如果其中一个插件出现问题不会影响到其它的插件的运行,可以方便的Enable,Di
SharpDevelop 2.0 中含有一个LoggingService用来记录程序运行过程中的一些信息使用起来十分方便,要在我们的自己的程序中使用他的话,那么修改一下配置文件才可以在SD中默认的日志是插入到System.Diagnostics.Trace中的,而我们是要写到文件中,所以我们修改以下位置 <appender name="FileAppender" type=
subversion当前最火的开源版本控件程序,sharpdevelop 是一款开源的.net IDE,虽然功能不如vs2005强大,但是短小精悍,尤其是在机器的性能不佳的情况下开发,.net 2.0,.net 3.0的程序,更是必不可少, sd(sharpdevelop)在开发的时候就加入了对subversion的支持,在tools/subversion菜单下就可以看到相应的功能了 下面
Subversion安装手记 原文地址: http://www.duduwolf.com/post/setting_up_subversion.asp STEP 1:下载和安装 首先在Subversion的官方网站去下载windows安装包,最新版是1.3.1,可惜在项目树上只更新到了1.3.0的二进制包。下载后安装在本地机器上,这里注意的是最好将安装目录指定为纯英文名目录,安装在中
虚函数简单地说,那些被virtual关键字修饰的成员函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性就是实现共同的方法,但因个体差异而采用不同的策略。简单的示例 public class ShapeWithArea...{ protected double x,y,area; protected string name; p
作者: 黄志彬(在dev-club上俺叫笨猫猫) 本人在看一些例子的时候,总是能看到配置文件中有一些publickeytoken的字样,本人不太明白,所以在网上搜了一下,看到msdn里边有人做了解释,恍然大悟,为了感谢作者,本人在这里转载一下.原文地址:http://www.microsoft.com/china/community/program/originalarticles/tech
今天在机器上安装msde里在日志里看到错误: 15457,严重度: 0,状态: 1 以为安装失败,结果在服务里一看,服务是启动成功的但是用查询分析器连接不上 结果打开服务器网络实用工具,将tcp/ip加入到启动的库中,这样,用查询分析器就可以连接过去了但是不能用sa用户名与密码登录,出现错误sa登录失败,未与信任sql server 连接相关联 在网上搜索了一下,原来是服务器被配置成了w
第一步,工程中引入log4net.dll第二步,在AssemblyInfo.cs加入这一行,指定log4net的配置文件 [assembly: log4net.Config.XmlConfigurator(ConfigFile="cxylog4net.exe.config", Watch=true)] 第三步,在配置文件中指定以下内容 <?xml version
使用 Windows 窗体 TreeView 控件时,一个常见任务是确定单击了哪个节点并相应地予以响应。确定单击了哪个 TreeView 节点 使用 EventArgs 对象返回对已单击的节点对象的引用。通过检查 TreeViewEventArgs 类(它包含与事件有关的数据),确定单击了哪个节点。 protected void treeView1_AfterSelect (o
报表系统是信息系统的重要组成部分,在编制报表系统时,我们希望报表生成器与报表的逻辑部分分离,这样不管采用何种报表 输出技术,业务逻辑部分都可以不受影响,例如在输出报表时,用户经常希望 与ms office 兼容,将报表输出到ms excel或ms word中而office系统的升级会导致报表系统的升级,为了提高应用系统的适应性,可以采用桥接模式,降低ms office 软件的升级对系统的影响.
桥接的效果1桥椄模式可以保持客户端程序的接口不变,而允许读者修改显示类或要使用的类.这可以防止重新编译一系列复杂的用户接口模块,而只需要重新编译Bridge各实际的最终显示类2.可以分别扩展实现类和Bridage类,二者之间通常不会有相互作用3.对客户端很容易隐藏实现细节 public interface Bridger { void addData(ArrayList c
namespace simplefactory{ using System; public abstract class Vehicle { protected string m_typename ; public string TypeName { get {
/* * User: Administrator * Date: 2007-7-3 Time: 14:16 */using System;using System.Windows.Forms;using System.Reflection;using System.Runtime.Remoting;using System.Collections;namespace myMemon
/* * User: Administrator * Date: 2007-7-3 Time: 10:26 */using System;using System.Collections;namespace TreeViewVisitable{ public interface IVisitable{ void Accept (Visitor v); }
/* * User: Administrator * Date: 2007-7-2 Time: 15:49 *///一些命令,作用是画圆,画方,画线,三个主要的命令,//命令模式最主的特点是,可以方便的加入权限的判断//最后便使用了一个代理模式,来实现这个权限的判断//using System;using System.Drawing;using System.Windows.Forms
/* * * User: Administrator * Date: 2007-7-2 * Time: 9:02 */using System;using System.Collections.Generic;namespace myMemonto{ public interface IMemonto{} public class State { publ
我经常用ASP.NET来写一些小程序,写起来方便,但是要部署到客户的机器上,就成了麻烦事,客户的机器上不一定有IIS,并且用户不一定愿意安装那个东西,所以这里我们要脱离IIS执行ASP.NET,就用到这们这里的cassini服务器, 为了测试他的可用性,我先在IIS下边做一个示例工程:C:/Inetpub/wwwroot/Casi里边包含了,一个读取数据库返回DataSet的WebForm,
using System;using System.Collections.Generic;namespace MyLearn{ public class MyWork { public delegate void CurrentEvent(int process); public event CurrentEvent ce;
UIPart.Rights.ModiPass m_modipass =new UIPart.Rights.ModiPass(); m_modipass.MdiParent=this;m_modipass.Show(); 多文档的窗体显示规则
Public Sub CreateMyPanel()Sub CreateMyPanel() Dim panel1 As New Panel() Dim textBox1 As New TextBox() Dim label1 As New Label() ' Initialize the Panel control. panel1.Locati
最近使用NUnit进行.net单元测试时,总是出现找不到文件或程序集名 的错误, google了一下,发现是nunit的文件,要和做单元测试时的dll放在同一个目录下, 解决办法.新建一个工程,放在相同的目录下,加载成功OK
今天从新安装了系统,在新建应用一个 asp.net程序时,vs2003弹出以下错误消息:“asp.net 应用程序和服务已经锁定” 解决办法: 1. 打开“Internet 信息服务 (IIS)”。 2. 单击“Web 服务扩展”。 3. 在细节窗格中,单击“Web 服务扩展”列表中的“ASP.NET v1.1.4322”。 4. 单击“允许”以将状态从“禁止”更改为“允许”。