ASP.NET Web编程原理 之 IIS架构与HTTP请求处理流程(3)8.1.4 HTTP请求的处理过程在了解了IIS的架构之后,来看一下IIS架构中的各个组成部分是如何相互配合处理HTTP请求的。先来从总体上看看HTTP请求的处理过程(图 8?10)。图 8?10 HTTP请求的处理过程图 8?10清晰地展示出了HTTP请求处理就是浏览器与Web服务器间“一问一答”的过程。首先,浏览..
C#支持高质量缩略图、文字水印、图片水印、透明度水印源代码类库using System;using System.Collections;using System.Web;using System.Web.UI;using System.Drawing;using System.Drawing.Imaging;using System.Drawing.Drawing2D;namespace DIYSystem.Common.Picture{/**//// summary/// 给图片添加水印的 Class。/// /summarypublic cla..
如果你需要跨域上传内容到另外一个域名并且需要获取返回值,使用Asp.Net的作为代理是最好的办法,要是客户端直接提交到iframe中,由于跨域是无法用javascript获取到iframe中返回的内容的。此时需要在自己的网站做一个动态页作为代理,将表单提交到动态页,动态页负责将表单的内容使用WebClient或HttpWebRequest将表单数据再上传到远程服务器..
在.NET Framework 2.0中,泛型第一次被引入。我们可以定义泛型接口、泛型类型、泛型委托和泛型方法。序列化依赖于真实具体的类型,而泛型则刻意模糊了具体类型概念。而集 合代表一组对象的组合,集合具有可迭代(Enumerable)的特性,可以通过某个迭代规则遍历集合中的每一个元素。由于范型类型和集合类型在序列化和 反序列化上具有一些特殊..
元数据的发布方式决定了元数据的获取行为,WCF服务元数据架构体系通过ServiceMetadataBehavior实现了基于WS-MEX和HTTP-GET的元数据发布,针对这两种不同的协议,元数据获取的实现方式也是不同的。我们首先来实现基于WS-MEX的元数据获取方式。 [Source Code从这里下载]一、 基于WS-MEX的元数据获取 ServiceMetadataBehavior通过创建MEX终结..
本文介绍Windows Sockets的一些关于用C#实现的原始套接字(Raw Socket)的编程,以及在此基础上实现的网络封包监视技术。同Winsock1相比,Winsock2最明显的就是支持了Raw Socket套接字类型,使用Raw Socket,可把网卡设置成混杂模式,在这种模式下,我们可以收到网络上的IP包,当然包括目的不是本机的IP包,通过原始套接字,我们也可以更加自如..
asp.net防止图片盗链有以下几种方法。 1.所有的image url都跟上密文.比如你在绑定页面image url时可以这么做.以下是MVC示例.其他的差不多. ImageController+展开-C# stringpath="/Content/"; stringimgName="girl.jpg"; longticks=DateTime.Now.Ticks; //使用当前时间刻度作为待加密对象 stringencryptKey=ticks.ToStr..
在基于TCP/IP协议簇的对等网络通信下,相互通信的应用程序运行各自的进程中,出于应用层的进程将数据局封装成数据报,并通过传输层的TCP或者UDP进行网络通信。而TCP和UPD则通过一个16bit的端口来识别不同的应用程序。 对于一些常用网络服务,他们都有一个知名的端口好与之匹配。比如,FTP服务是用的TCP端口为21;Telnet 服务的TCP端口为2..
mscorsvw.exe是在后台预编译.net的assemblies。一旦它执行完毕,就停止。一般来说,当你安装了.NET的分发程序,它就会先用5到10分钟预编译那些高优先级的assemblies,然后等到你的电脑空闲的时候再去处理那些低优先级的assemblies 。一旦它全部处理完毕,它将会终止,你将不会再看到mscorsvw.exe。很重要的一点是,当你看到CPU被100%地占用,..
在ASP.NET 3.5当中,系统提供了AJAX控件以便开发人员能够在ASP.NET 3.5中进行AJAX应用程序开发,通过使用AJAX控件能够减少大量的代码开发,为开发人员提供了AJAX应用程序搭建和应用的绝佳环境。16.2.1 脚本管理控件(ScriptManger) 脚本管理控件(ScriptManger)是ASP.NET AJAX中非常重要的控件,通过使用ScriptManger能够进行整个页面..
在众多.NET应用下的代码生成方案中,比如CodeDOM,BuildProvider, 我觉得T4是最好的一种。关于T4的基本概念和模板结果,可以参考我的文章《基于T4的代码生成方式》。如果要了解T4具体的应用,参考通过T4模板生成代码,通过T4模板实现多文件代码生成。如果你编写T4模板,你不得不面对一个问题如何引用一个程序集?VS 2010采用了与VS2008不同的..
1. String 类型变量追加,或修改后的新String对象是驻留(Interned)的。 如下面代码 string s1 = abcd; 我过去想当然的认为s2 是驻留的,但实际上并非如此,用 string.IsInterned 方法检测s2是非驻留的。后来研究发现只有常量字符串才会默认驻留,其他的字符串变量哪怕是采用 new string 构造出来的,默认都非驻留,除非用string.Intern 强行..
一、为什么要使用MSMQ 在一个分布式的环境中,我们往往需要根据具体的 情况采用不同的方式进行数据的传输。比如在一个Intranet内,我们一般通过TCP进行高效的数据通信;而在一个Internet的环境中,我们则通 常使用Http进行跨平台的数据交换。而这些通信方式具有一个显著的特点,那就是他们是基于Connection的,也就是说,交互双方在进行通信的..
1、要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib)2、描述 1)、从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成 2)、任何键都必须是唯一的 3)、键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值 4)、Key和Valu..
到目前为止,所介绍的都是基于客户端驱动的服务发现模式,也就是说客户端主动发出请 求以探测和解析可用的目标服务。在介绍WS-Discovery的时候,我们还谈到另外一种服务驱动的模式,即服务在上线和下线的时候主动对外发出 Hello/Bye通知。服务上下线通知机制依赖另外一个AnnouncementEndpoint标准终结点。一、AnnouncementEndpoint 在采用..
上面的内容大部分是围绕着Ad-Hoc模式展开介绍的。Managed模式和Ad-Hoc不同之处在于可用服务的终结点通过发现代理来统一管理。客户端在进行可用目标服务探测和解析的时候不再需要发送广播请求,而是直接向发现代理进行探测和解析请求就可以了。[源代码从这里下载]一、发现代理与Managed发现模式 至 于发现服务如何进行可用服务的实时维护,..
在WCF如何通过Binding进行通信中,我们通过一个直接借助BasicHttpBinding对象实现Client和Server端进行通信的例子,对WCF channel layer进行了一个大致上的介绍。由此引出了一些列通信相关的概念和对象,比如Channel,Output channel, Input channel,Request channel, Reply Channel,Duplex channel, Channel Shape,Channel manager,C..
不论是我们采用SOAP还是REST架构风格,运行时框架体系依然不曾改变,终结点也仍 旧是通信的核心。在Web HTTP编程模型中,我们采用基于WebHttpBinding绑定的终结点。绑定是一组相关绑定元素的有序组合,绑定的特性与能力决定于它包含的绑定元 素,在这里我们通过分析绑定元素的方式来剖析WebHttpBinding绑定与其它绑定有何不同。采用HTTP/HTT..
$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..
在某些Windows Server 2003的操作系统上,运行.Net 2.0或者3.5的应用程序时,会发现没有任何反应,到系统的事件查看器里会发现类似EventType clr20r3 P1....P2...PN的错误提示。 很可能的原因就是:你的应用程序出现了异常,而.net没有或者无法捕捉该异常,所以导致出现如下情况:1.双击可执行程序,没有反应。2.此时去任务管理器中会看到..
最近在为公司实施做了一个工具,Silverlight部署早已是轻车熟路, 但对于非技术人员来说却很是头疼的一件事,当到现场实施碰到客户情况也各不相同, 急需一个类似系统备份的"一键工具"快速实现应用程序部署和数据库进行关联. 网上关于这方面资源也比较混乱,其中对于IIS的编程影响因素很多,操作技巧上加以细化小结.A:版本问题这是你在进行编程前必须要..
文章出处:http://hi.baidu.com/wuchangxemail:wuchang@guet.edu.cn一、起因信通宝在客户网站上浮动窗口的实现是通过在客户的网站上加上一段链接脚本,脚本在客户网站上写入一IFrame,此Iframe中的内容src=""是指向信通宝网站,如src="www.xtb.com/script.js"。 信通宝的功能需求中有一项是要求记录用户访问此网站的次数的,这就要求必须在访客的..
数据源控件很像ADO.NET中的Connection对象,数据源控件用来配置数据源,当数据控件绑定数据源控件时,就能够通过数据库源控件来获取数据源中的数据并显示。而无需通过程序实现数据源代码的编写。8.1.1 SQL数据源控件(SqlDataSource) SqlDataSource控件代表一个通过ADO.NET连接到SQL数据库提供者的数据源控件。并且SqlDataSource能够与..
C#泛型排序ListT.Sort(IComparerT),使用实现了IComparerT接口的类给集合排序,可以灵活指定如何排序,但是需预先定义好类的排序方法 首先定义一个类,用作集合的元素+展开-C#usingSystem;usingSystem.Collections.Generic;///summary///学生类////summarypublicclassStudent{privatestringname;//姓名publicstringName{get{returnname;}..
双工(Duplex)模式的消息交换方式体现在消息交换过程中,参与的双方均可以向对方发送消息。基于双工MEP消息交换可以看成是多个基本模式下 (比如请求-回复模式和单项模式)消息交换的组合。双工MEP又具有一些变体,比如典型的订阅-发布模式就可以看成是双工模式的一种表现形式。双工消息交 换模式使服务端回调(Callback)客户端操作成为可能。..
【注:在VS.Net中运行是要添加Excel.dll组件的,Excel组件VS.Net本身是没有的,下面是生成Excel.dll的方法。】1.要保证机器本身要安装OFFICE. 2.把[C:/Program Files/Microsoft Office/Office:默认安装路径]下的EXCEL9.OLB文件拷贝到[C:/Visual Studio.Net/SDK/v1.1/Bin:VS.Net安装路径]路径下。3.打开Visual Studio .Net2003命令提示,运行TlbI..
前言: 在学习如何使用.NET资源文件以及如何开发World-Ready程序之前,我们先通过一个例子来看看为什么要使用资源文件,以及使用它的好处。 假设要在程序中根据当前的Culutre来设置Form的Title和Logo: private void Form1_Load(object sender, System.EventArgs e) { CultureInfo ci = new CultureInfo(Thread.CurrentThread.CurrentUICultur..
highcharts+Asp.net简单示例,asp.net生成DataTable后用linq处理成highcharts需要的数据格式后使用服务器端标签%#%绑定数据。DataTable手动添加的数据,实际应用以数据库为准。需要读取数据库。转json字符串要用到Newtonsoft.Json.dll,可以去这里下载:Newtonsoft.Json.Net 4.0下载,效果如下示例代码如下%@ Page Language=C# %%@ Import NameS..
Enterprise Library是微软PP部门开发的众多Open source框架中的一个,最新的版本已经出到了4.1。由于接触Enterprise Library已经有很长的一段时间,在实际的项目中使用的频率也很高。对此有了一些积累,希望通过这个新的系列和广大网友一起分享和交流。本系列假设读 者已经对Enterprise Library有一定的了解,故而不会对各个Application Blo..
下载下面的压缩文件,将ManagedZLib.dll,FlashInfo.dll放在项目的BIN文件中,并引用,或者将flashinfo.cs放在app_code文件下点击下载此附件flashinfo.cs内容如下:+展开-C#usingSystem;usingSystem.Collections;usingSystem.IO;usingSystem.Text;namespaceFW0579.CService{publicclassFlashInfo{privateintwidth,height,version,frameCount,..