这几天在读到《WCF3.5揭秘》这本书的第10章:高级安全。我被书中在叙述安全时的美国风情的描述深深吸引住了,在这儿他写到:“从华盛顿的西雅图向南,驾车前往俄勒岗……你可以选择继续在州际5号公路上行驶,或者先向南转上美国101号高速公路……5号公路上开车你会很轻松,因为往波特兰的大部分路段都 是双向多车道的…&hel... Read More
posted @ 2010-05-07 15:40 suyan010203 Views(2056) Comments(0) Diggs(2) Edit
为了得到服务所在的数据库中所产生的数据,我在服务中定义了一个自定义的数据契约,用于WCF中的数据交换。不过在客户调用过程中却出现了一个奇怪的问题,明明在服务在得到的数据,可在返回客户的方法中却不能看到数据。通过SvcUtil.exe的生成分析,得到数据契约的的命名空间会带上数据类所在程序集的命名空间,这点与服务契约的方法不一样。如下定义的数据契约:namespace WCFDataContract... Read More
posted @ 2010-04-28 16:05 suyan010203 Views(1992) Comments(3) Diggs(2) Edit
WCF为传输层实现数据流在客户和服务之间进行传输提供了很好的支持,不过在使用这种方式时,我们必须遵循相应的约定。WCF服务在启动时会首先检查操作契约是否符合这种规范。因为通常模式下我们不能简单地在客户中使用特定的流,如我们在传输文件时,我们目的是要得到文件对象,而不是流对象。因为我们使用了不同类型的文件(如:*.doc,*.exe等),那么在另一端我们应该能够重现这种类型,不过由于使用流传输带来很... Read More
posted @ 2010-04-19 12:52 suyan010203 Views(1290) Comments(0) Diggs(2) Edit
在WCF程序设计中,服务对象如何实例化,对于应用程序的性能有很大的影响,这同时要兼顾到性能与可扩展,由于在WCF中服务类实例化与客户端有关,服务实例会根据客户端的请求类型来确定服务实例的管理方式,当然也可以以声明的方式来显式定义服务的实例化的方式。 WCF中支持三种实例激活的类型:单调服务(Per Call Service),会为每次客户端请求分配(销毁)一个服务实例。会话服务(Sessionfu... Read More
posted @ 2010-04-13 15:49 suyan010203 Views(1369) Comments(9) Diggs(2) Edit
利用WCF改进文件流传输的三种方式WCF在跨域传输使用了两种模型的方法调用:一种是同步模型,这种模型显然对那些需要大量操作时间的方法调用(如从数据库中获取大量数据时)是一种痛苦的选择。另一种是异步模型的方法调用,这种模型是一种非阻塞方法,其方法调用期间并不等到方法调用结束获得结果才返回,而是方法调用一经开始就马上返回,程序可以继续向前执行,被调用方法和主程序同时执行,在调用方法结束才返回结果。显然... Read More
posted @ 2010-04-04 13:55 suyan010203 Views(3600) Comments(3) Diggs(2) Edit
在.net程序设计中,由于引入了类型元数据信息,所以我们可以在程序设计中利用反射机制得到强类的使用.从而避免运行时的类型错误.不过在跨应用程序域的程序设计中我们由于也要使用强类型:一种方式是完全引用源程序集,不过随之而来的问题是程序集的成倍膨涨,因此这种方式在实际应用中是没有多大的优势的,几乎不可以作为开发级使用.第二种方式是利用类型工具如.net下的soapsuds.exe工具来得到类型元数据。... Read More
posted @ 2010-03-27 22:21 suyan010203 Views(746) Comments(0) Diggs(0) Edit
在日常的程序设计中,如何灵活和巧妙地运用配置信息是一个成功的设计师的首要选择。这不仅是为了程序设计得更灵活性和可扩展性,也是为了让你的代码给人以清新的感觉。程序中的配置信息一般放在应用程序的app.config或web.config文件中,当然也可以自定义自己的配置文件。这些配置文件是以XML格式进行存储和读取的。微软也封装一些对这些配置文件操作的类,这些类存在于名字空间System.Config... Read More
posted @ 2010-03-26 15:33 suyan010203 Views(474) Comments(0) Diggs(0) Edit
朋友在做项目时遇到一个奇怪的问题,那就是在asp.net设计中可以使用UploadFile控件对本地的任何文件以二进制流的方式上传到网络服务器上,其内置了一个打开文件的对话框,非常方便好用。不过随之而来的问题是:我们要上传一个固定的文件,不要用这个文件对话框来选择上传的文件,那么就应该设置UploadFile的FileName属性,我们做了,结果却不是我们想像的那样,这个FileName属性是只读... Read More
posted @ 2010-03-21 15:43 suyan010203 Views(663) Comments(1) Diggs(0) Edit
CLR的定位和加载程序集运行的过程是由CLR的程序集加载器来完成的,这个程序集的加载器通常也称为fusion。并且这个程序集的部署模型是是智能的而且可以配置的。其智能性体现在当程序集在某个文件夹下没有找到时,CLR会使用某种算法,如试探性地在子文件夹中搜索同名的程序集。CLR的智能性还体现在,如果发现一个程序原来可以正常工作现在而现在因为找不到某个程序集而出错,它可以轻易地将错误的更改回滚。CLR... Read More
posted @ 2010-03-21 13:59 suyan010203 Views(251) Comments(0) Diggs(0) Edit