C#实现网络蜘蛛的思路

评论(0)浏览(51)分类:Asp.Net/C#/WCF
C#实现网络蜘蛛的思路先将问题最小化(转化的思想,转化为小规模,可以解决的问题):如果只有一个网页,怎么下载?问题变地很简单,只要用WebClient/WebRequest(甚至OpenFileDialog都可以)打开Url地址,将数据流存入本地存储器的文件(以相应的扩展名作为扩展名)即可。示例代码如下:string BoardStream;//下载内容存入此变量Uri url = new Uri( “http://www.16..

ASP.NET ICallbackEventHandler接口

评论(0)浏览(51)分类:Asp.Net/C#/WCF
ASP.NET ICallbackEventHandler接口  ASP.NET 2.0 Callback 使得ASP.NET Server端控件能够调用服务端的方法而不需要执行一个完整的Postback过程,也就是说使得Server端控件可以很好的支持Ajax。   Callback不同于Postback之处在于向服务器发送请求时只有ViewState和用户自定义信息被发送到服务器端,请求完毕后,只返回用户自定义结果,而不会从Render页面。  GridView控件正..

C#实现图片文件防盗链

评论(0)浏览(51)分类:Asp.Net/C#/WCF
C#实现图片文件防盗链 反盗链的程序其实很简单,熟悉ASP.NET 应用程序生命周期的话很容易就可以写一个,运用HttpModule在BeginRequest事件中拦截请求就ok了,剩下的工作就是过滤,再过滤! 如果不熟悉HttpModule的话,可以去MSDN上查阅,介绍非常详细,地址:ms-help://MS.VSCC.v80/MS.MSDN.v80 /MS.VisualStudio.v80.chs/dv_aspnetcon/html/f1d2910f-61d0-454..

创建一个简单的WCF程序

评论(0)浏览(51)分类:Asp.Net/C#/WCF
创建一个简单的WCF程序  为了使读者对基于WCF的编程模型有一个直观的映像,我将带领读者一步一步地创建一个完整的WCF应用。本应用功能虽然简单,但它涵盖了一个完整WCF应用的基本结构。对那些对WCF不是很了解的读者来说,这个例子将带领你正式进入WCF的世界。  在这个例子中,我们将实现一个简单的计算服务(CalculatorService),提供基本的加、减、乘、除的运算..

oledb读写excel出现“操作必须使用一个可更新的查询”错误

评论(0)浏览(51)分类:Asp.Net/C#/WCF
oledb读写excel出现“操作必须使用一个可更新的查询”错误  使用oledb连接excel将结果写入xls文件的一个sheet中,出现了操作必须使用一个可更新的查询错误,以为是excel文件所处的文件夹没有写权限所致。增加了相应权限后,结果依然如故。仔细检查了一下,问题发现了,原来开始只是为了读取excel我将连接写成了如下格式: string filename = Server.MapPath(.) + @\test.xls;Extended Properties=&#..

asp.net客户端$get和$find方法区别

评论(0)浏览(51)分类:Asp.Net/C#/WCF
asp.net客户端$get和$find方法区别  $get 和 $find都是asp.net ajax注册到浏览器的前段javascript方法脚本。要使用$get 和 $find这2个javascript方法,aspx页面需要放置ScriptManager 。$get 和 $find的用法说明和异同如下$get  $get等价于document.getElementById。当你在$get函数处打断点进行调试,你将会看到如下的代码var $get = Sys.UI.DomElement.getElementById = fun..

C#线程如何打开新窗口

评论(0)浏览(51)分类:Asp.Net/C#/WCF
C#线程如何打开新窗口  C#线程中要打开新窗口,需要使用delegate,而不是能在这个线程中直接实例化新窗口,然后调用show方法,要不会导致程序假死,无法响应。  示例代码如下//工作线程的代码将直接调用FOrm下定义的FormShow方法ListenerThread(){//这是一个自由线程。不能在这里直接调用一个窗体FormShow();//OK}delegate void FormHandler(DataSet ds);//声明一..

C# winform间参数传递

评论(1)浏览(51)分类:Asp.Net/C#/WCF
C# winform间参数传递  下面列出了7种C# winforom窗体间传值的方法第一种方法:  创建一个类,里面声明用于存储接收的字段。传的时候存储于字段中,要用的时候,直接类名.字段名 进行调用。(这种方法传递是双向的)第二种方法:1.在Form1里定义public string Name = *****;2. 在Form2里创建Form1对象,Form1 f = new Form1();然后就可以通过f.Name取值了第三种..

WCF授权-WCF中的三种授权方式

评论(0)浏览(51)分类:Asp.Net/C#/WCF
WCF授权-WCF中的三种授权方式  前面的两篇文章(《WCF授权-Identity与Principal[上篇]》和《WCF授权-Identity与Principal[下篇]》) 主要探讨基于安全主体的授权。通过这些介绍我们知道:如果我们在实施授权的时候,当前线程的安全主体能够被正确设置,我们就可以正确地完成授权。基于相同 的原理,对于WCF的服务授权,如果正确的安全主体能够在服务操作被执行之前被正确设..

WCF消息如何分发到Endpoint--消息筛选(Message Filter)

评论(0)浏览(51)分类:Asp.Net/C#/WCF
WCF消息如何分发到Endpoint--消息筛选(Message Filter)  在介绍终结点的WCF逻辑地址和物理地址时,我们提到了两个特殊的对象ChannelDispatcher和ChannelListener。这两个对象在整个WCF的消息分发系统中具有重要的地位,在这节里,我们对WCF的整个消息分发过程作一个简单的介绍。一、连接请求的监听  当我们通过ServiceHost对某个服务进行寄宿的时候,实际上WCF是在为我们创建一个监听器,并监听来..

wcf深入剖析目录

评论(0)浏览(50)分类:Asp.Net/C#/WCF
wcf深入剖析目录[第1篇] WCF如何通过Binding进行通信  Windows Communication Foundation,顾名思义,就是一个在Windows平台下进行如何进行Communication的基础构造(Infrastructure)。 由于WCF的核心还是Communication,这个新的系列就先来讨论WCF如何进行Communication的。通过本篇文章,你将对WCF的通 信机制有一个总体的认识,了解到一些和通信相关的概念..

Enterprise Library Policy Injection Application Block如何控制CallHandler执行顺序

评论(0)浏览(50)分类:Asp.Net/C#/WCF
Enterprise Library Policy Injection Application Block如何控制CallHandler执行顺序一、为什么CallHandler需要进行排序  PIAB为我们提供了一个很好地实现AOP的方式。AOP旨在实现Business Logic和Non-Business Infrastructure Logic的分离。通过PIAB,我们将这些业务无关的逻辑定义在一个个的CallHandler中,然后通过Attribute或者Configuration的方式,将我们所需的CallHandler运用到相应的目标对象中。从这个意义上讲,PIAB具..

SQLite有哪些可视化管理工具

评论(0)浏览(50)分类:Asp.Net/C#/WCF
SQLite有哪些可视化管理工具搜集了一些SQLite工具,在这里做个总结,有的工具用的多一些,有的只是简单试用,甚至未试用,所以有描述不当的还请回复指正,也欢迎补充完善!【免费且保持更新】1、SQLiteSpy 免费 单文件http://www.yunqa.de/delphi/doku.php/products/sqlitespy/截至2012/9/14最新版本 SQLiteSpy 1.9.1 28 Jul 2011单文件,界面设计紧凑,较稳定,功能较少,..

EntLib实现ASP.NET页面的自动授权

评论(0)浏览(50)分类:Asp.Net/C#/WCF
EntLib实现ASP.NET页面的自动授权  ASP.NET默认采用UrlAuthorizationModule和FileAuthorizationModule分 别实现针对请求地址和物理文件的授权,但是在很多情况下我们需要额外的授权方式。Entlib提供了一种基于表达式的授权方式,它允许我们以一个表达式的 方式来定义授权的规则。在新的项目中我们希望利用EntLib的授权框架来实现针对ASP.NET页面的自动授权,本文描述的解决方案..

C# lockbits遍历图像

评论(0)浏览(50)分类:Asp.Net/C#/WCF
C# lockbits遍历图像  通过图像遍历,将pictureBox 中的 灰度bitmap变量转变为一维数组,方便进一步的图像处理。 public static byte[] ChangeByte(Bitmap tp) { int w = tp.Width; // 图像实际宽度 int h = tp.Height; // 图像实际高度 BitmapData srcdata = tp.LockBits(new Rectangle(0, 0, w, h), ImageLockMod..

WCF调用技巧二

评论(0)浏览(50)分类:Asp.Net/C#/WCF
WCF调用技巧二  在《WCF调用技巧一》中,我通过使用Delegate的方式解决了服务调用过程中的异常处理以及对服务代理的关闭。对于《WCF技术剖析(卷1)》的读者,应该会知道在第7章中我通过类似于AOP的方式解决了相似的问题,现在我们来讨论这个解决方案。  通过《WCF服务代理不及时关闭会有什么后果》 的介绍,我们知道了及时关闭服务代理的重要意义,并且给..

WCF Binding模型-元素绑定

评论(0)浏览(50)分类:Asp.Net/C#/WCF
WCF Binding模型-元素绑定  在上面的内容中,先后介绍了信道、信道管理器、信道监听器和信道工厂。从对象的创建来讲,信道管理器是信道的创建者。说的再具体点,客户端的信道通过信道工厂创建,服务端的信道通过信道监听器创建。但是信道工厂和信道监听器又是如果被创建出来的呢?  在一开始就已经说过,作为终结点三要素的绑定对象实现了所有的通信细节,并且通过创..

type在C#托管堆中是什么

评论(0)浏览(50)分类:Asp.Net/C#/WCF
type在C#托管堆中是什么What is Type in managed heap?  在程序运行过程中,每个对象(object)都是对应了一块内存,这里的对象不仅仅指的是某个具体类型的实例(instance),也包括类型 (type)本身。我想大家也很清楚CLR如何为我们创建一个类型的实例(instance)的:CLR计算即将被创建的Instance的size(所 有的字段加上额外的成员所占的空间:TypeHandle和SyncB..

分布式事务-基于DTC的分布式事务实现

评论(0)浏览(50)分类:Asp.Net/C#/WCF
分布式事务-基于DTC的分布式事务实现  [续上篇] 当基于LTM或者KTM的事务提升到基于DTC的分布式事务后,DTC成为了本机所有事务型资源管理器的管理者;此外,当一个事务型操作超出了本机的范 围,出现了跨机器的调用后,本机的DTC需要于被调用者所在机器的DTC进行协助。上级对下级(包括本机DTC对本机所有资源管理器,以及上下级DTC) 的管理得前提是下级在上级那里登记,即事务登记..

C# ref,out关键字

评论(0)浏览(50)分类:Asp.Net/C#/WCF
C# ref,out关键字 C# ref,out关键字  参数可以通过引用和值传递给方法。通过引用传递给方法的变量可以有调用它的方法作自由改变,所作的修改会影响原来的变量的值;在C#中,除非特别说明,所有的参数都是值传递。  这是默认情况,也可以使用ref关键字,迫使值参数通过引用传递给方法,则给方法对变量所作的修改都会影响原来对象的值。在定义该方法时把该参数..

C#获取Word文档作者和主题

评论(0)浏览(50)分类:Asp.Net/C#/WCF
C#获取Word文档作者和主题   当然要先添加对Word的组件的引用,添加命名空间的引用,代码:+展开-C#Word.ApplicationoWord;Word._DocumentoDoc;objectoMissing=Missing.Value;objectdocBuiltInProps;objectSource=@"DocPath";objectUnknown=Type.Missing;oWord=newWord.Application();try{oDoc=oWord.Documents.Open(refSource,refUnknown,refUnknown,refUnknown,refUnk..

asp.net 编译错误类型“同时存在于”不同的dll中

评论(0)浏览(50)分类:Asp.Net/C#/WCF
asp.net 编译错误类型“同时存在于”不同的dll中出现这种错误大概有三种情况:1、ASPX页面,一个*.ASPX,对应着一个*.cs文件,两者其实是一个文件,通过两者实现代码分离,每个*.aspx页面都引用着自身的CS文件:如果两个页面引用了相同得.CS文件,在发布得时候也会出现这种错误。2、估计是在Bin里面还有一个老版本的DLL,而新版的DLL名字换掉了,新的覆盖不掉老的,并存在BIN里时,有可能会发生这种情况..

使用StateServer保存Session解决Session过期

评论(0)浏览(50)分类:Asp.Net/C#/WCF
使用StateServer保存Session解决Session过期  使用 StateServer 保存 Session 正常操作情况下Session会无故丢失。因为程序是在不停的被操作,排除Session超时的可能。另外,Session超时时间被设定成60分钟,不会这么快就超时的。 原因:由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定如下:+展开-XMLsessionStatemode='InProcstateConnectionString='tcpip=127...

C#开发代码的小技巧

评论(0)浏览(49)分类:Asp.Net/C#/WCF
C#开发代码的小技巧1. 使用as,而非is +展开-C#objecto=GetFromCache("A_KEY");EmployeeInfoemployee=oasEmployeeInfo;if(employee!=null){//TODO:代码}2. 使用DataReader读取数据 +展开-C#using(SqlDataReaderreader=SqlHelper.ExecuteReader(cmd)){while(reader.read()){//TODO:读取当前行的数据}}3. 尽量使用强类型集合(包括泛型集合),而非DataTable +展开-C..

1.3 安装Visual Studio 2008

评论(0)浏览(49)分类:Asp.Net/C#/WCF
1.3  安装Visual Studio 2008  使用.NET框架进行应用程序开发的最好的工具莫过于Visual Studio 2008,Visual Studio系列产品被认为是世界上最好的开发环境之一。使用Visual Studio 2008能够快速构建ASP.NET应用程序并为ASP.NET应用程序提供所需要的类库、控件和智能提示等支持,本节会介绍如何安装Visual Studio 2008并介绍Visual Studio 2008中的窗口的使用和操作方法。1..

1.4 安装SQL Server 2005

评论(0)浏览(49)分类:Asp.Net/C#/WCF
1.4  安装SQL Server 2005  Visual Studio 2008和SQL Server 2005都是微软为开发人员提供的开发工具和数据库工具,所以微软将Visual Studio 2008和SQL Server 2005紧密的集成在一起,使用微软的SQL Server进行.NET应用程序数据开发能够提高.NET应用程序的数据存储效率。(1)打开SQL Server 2005安装盘,单击SPLASH.HTA文件进行安装,安装界面如图1-21所示。图1-21 SQL..

C#实现文件分块下载

评论(0)浏览(49)分类:Asp.Net/C#/WCF
C#实现文件分块下载C#实现的文件分块下载,分块输出缓存内容下载到客户端源代码+展开-C#//下载文件的路径stringpath=Server.MapPath("广告.jpg");//下载文件的名称stringfilename="广告.jpg";System.IO.FileInfotoDownload=newSystem.IO.FileInfo(path);if(toDownload.Exists==true){constlongChunkSize=10000;byte[]buffer=newbyte[ChunkSize];Response.Clear();S..

WCF中并发(Concurrency)与限流(Throttling)体系剖析目录

评论(0)浏览(49)分类:Asp.Net/C#/WCF
WCF中并发(Concurrency)与限流(Throttling)体系剖析目录  服务(Service)的本质就是提供服务消费者期望的某种功能,服务的价值体现在两个 方面:服务本身的质量和寄宿服务的平台应付消费者的数量,并发(Concurrency)的关注的是第二个要素。WCF服务寄宿于资源有限的环境中,要实 现服务效用的最大化,需要考虑如何利用现有的资源实现最大的吞吐量(Throughput)。提高吞吐量就某个寄宿的服务实例(..

WCF异常处理模式三

评论(0)浏览(49)分类:Asp.Net/C#/WCF
WCF异常处理模式三  从FaultContractAttribute的定义我们可以看出,该特性可以在同一个目标对象上面多次应用(AllowMultiple = true)。这也很好理解:对于同一个服务操作,可能具有不同的异常场景,在不同的情况下,需要抛出不同的异常。 1: [AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = false)] 2: public sealed class ..

C#捕获winform程序所有未处理的异常

评论(0)浏览(49)分类:Asp.Net/C#/WCF
C#捕获winform程序所有未处理的异常C#全局捕获winform程序所有未处理的异常1、命名空间引用:using System.Text;2、处理方法:private static void AppThreadException(object source, System.Threading.ThreadExceptionEventArgs e) { string errorMsg = string.Format(未处理异常: \n{0}\n, e.Exception.Message); errorMsg += Environme..