摘要:
转自:http://kb.cnblogs.com/page/42688/示例数据库字段名字段类型允许空字段说明IDuniqueidentifier表主键字段UserNamevarchar(50)留言用户名PostTimedatetime留言时间Messagevarchar(400)√留言内容IsRepliedbit留言是否回复Replyvarchar(400)√留言管理员回复 在数据库中创建一个名为GuestBook的数据库,在里面创建一个tbGuestBook的表,结构如上表。生成实体类右键点击网站项目,选择添加新项,然后选择“Linq to sql Classes”,命名为... 阅读全文
摘要:
转自:http://kb.cnblogs.com/page/42688/DataContextDataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入数据库。DataContext提供了以下一些使用的功能:以日志形式记录DataContext生成的SQL执行SQL(包括查询和更新语句)创建和删除数据库DataContext是实体和数据库之间的桥梁,那么首先我们需要定义映射到数据表的实体。定义实体类using System.Data.Linq.Mapping; [Table(N 阅读全文
摘要:
转自:http://kb.cnblogs.com/page/42688/本系列文章导航一步一步学Linq to sql(一):预备知识一步一步学Linq to sql(二):DataContext与实体一步一步学Linq to sql(三):增删改一步一步学Linq to sql(四):查询句法一步一步学Linq to sql(五):存储过程一步一步学Linq to sql(六):探究特性一步一步学Linq to sql(七):并发与事务一步一步学Linq to sql(八):继承与关系一步一步学Linq to sql(九):其它补充一步一步学Linq to sql(十):分层构架的例子 阅读全文
摘要:
原文转自http://www.cnblogs.com/lovecherry/archive/2005/05/24/161437.html遗留问题(1)关闭一个客户端以后会影响其他的客户端事件原因:客户端没有取消事件订阅就关闭了,触发事件的时候找不到事件订阅者解决:遍历委托链,找到异常的对象,从委托链中卸下(2)服务器端对客户端广播,客户端能收到其他客户端的事件处理信息原因:使用了Singleton模式,共享远程对象解决:因为需要远程对象有状态且不共享实例,所以只有客户端激活可以选择修改后的服务端:using System; using System.Collections; using Sys 阅读全文
摘要:
原文转自http://www.cnblogs.com/lovecherry/archive/2005/05/24/161437.html事件类或对象可以通过事件向其他类或对象通知发生的相关事情。发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”。具体参见msdn相关章节:http://msdn.microsoft.com/zh-cn/library/awbftdfh.aspx示例我们先来改造一下上次的程序,为上次的主线程方法添加事件,能不断的引发事件来汇报处理的进度:public class MyEventArgs { private int _rate; ... 阅读全文
摘要:
原文转自http://www.cnblogs.com/lovecherry/archive/2005/05/24/161437.html异步操作如果你还不知道什么是异步也不要紧,我们还是来看实例,通过实例来理解才是最深刻的。在Remoting中,我们可以使用以下几种异步的方式:1、普通异步2、回调异步3、单向异步一个一个来说,首先我们这么修改我们的远程对象:public int ALongTimeMethod(int a,int b,int time){ Console.WriteLine("异步方法开始"); System.Threading.Thread.Sleep(t 阅读全文
摘要:
原文转自http://www.cnblogs.com/lovecherry/archive/2005/05/24/161437.html这里来说一下iis承载方式,顺便简单说一下remoting的通道和【复杂对象】中的遗留问题。首先明确一点:iis来承载的话只能是http通道方式的。我们来建立一个web项目,比如叫remoting,删除项目中的所有webform,把远程对象dll-RemoteObject.dll复制到项目的dll文件夹下面,然后打开web.config进行服务端设置:<configuration> <appSettings> <add key=& 阅读全文
摘要:
原文转自http://www.cnblogs.com/lovecherry/archive/2005/05/24/161437.html复杂对象这里说的复杂对象是比较复杂的类的实例,比如说我们在应用中经常使用的DataSet,我们自己的类等,通常我们会给远程的对象传递一些自己的类,或者要求对象返回处理的结果,这个时候通常也就是需要远程对象有状态,上次我们说了几种激活模式提到说只有客户端激活和Singleton是有状态的,而客户端激活和Singleton区别在于Singleton是共享对象的。因此我们可以选择符合自己条件的激活方式:状态 拥有各自实例Singleton 有 无Singl... 阅读全文
摘要:
文转自http://www.cnblogs.com/lovecherry/archive/2005/05/24/161437.html远程对象的激活模式远程对象的激活模式分服务端激活和客户端激活两种,(也就是对象分服务端激活对象或者说是知名对象和客户端激活对象两种)服务端激活先看看msdn怎么描述服务端激活的:服务器激活的对象是其生存期由服务器直接控制的对象。服务器应用程序域只有在客户端在对象上进行方法调用时才创建这些对象,而不会在客户端调用 new 或 Activator.GetObject 时创建这些对象;这节省了仅为创建实例而进行的一次网络往返过程。客户端请求服务器激活的类型实例时,只在 阅读全文