上一页 1 2 3 4 5 6 ··· 14 下一页
  2011年6月21日
摘要: “泛型”(generic)是公共语言运行库(CLR)和编程语言提供的一种特殊机制,它支持另一种形式的代码重用,即“算法重用”。 大多数算法都封装在一个类型中,CLR允许创建泛型引用类型和泛型值类型,但不允许创建泛型枚举类型。此外,CLR还允许创建泛型接口和泛型委托。少数情况下,一个方法可能封装了一个有用的算法,所以CLR允许创建一个引用类型、值类型或接口中定义的泛型方法。 泛型为开发人员提供了以下优势: 1. 源代码保护:使用一个泛型算法的开发人员不需要访问算法的源代码。 2. 类型安全性:将一个泛型算法应用于一个特定的类型时,编译器和CLR能理解开发人员的意图,并保证只有与指定数据类型兼容. 阅读全文
posted @ 2011-06-21 23:55 辛勤的代码工 阅读(2223) 评论(0) 推荐(0) 编辑
  2011年6月19日
摘要: 下图展示了CLR加载一个进程,在这个进程中,可能存在多个线程。当一个线程创建时,它会分配到一个1MB大小的堆栈,这个堆栈空间用于向方法传递实参,并用于存储在方法内部定义的局部变量。堆栈是从高位内存发址向低位内存地址构建的。在图中,线程执行了一些代码,它的堆栈上已有一些数据。 在一个最基本的方法中,应该包含一些“开场白(prologue)”代码,它们负责在方法开始做它的工作前对其进行初始化。另外,还应包含一些“收场白(epilo-gue)"代码,它们负责在方法完成工作后对其进行清理,以返回调用者。现在,假定线程执行的代码要调用M1方法。当该方法始执行时,它的“开场白”代码从线程的堆栈中 阅读全文
posted @ 2011-06-19 22:45 辛勤的代码工 阅读(1089) 评论(1) 推荐(1) 编辑
  2011年5月23日
摘要: WF(Windows Workflow Foundation,Windows工作流基础)为.NET提供了一种基于模型的、声明方式的过程执行引擎,它改变了传统的通过一行行编写代码来开发服务功能的方式。 WF包含三个核心组件:活动框架(activity framework)、运行时环境(runtime environment)、工作流设计器(workflow designer)。WF不是什么 工作流这个词在软件开发领域和相关社区里已经被“滥用”了。所以弄清楚WF在这些流行的工作流概念中到底指的是哪一种就非常重要。 1. WF不是服务器,虽然可以将工作流功能集中起来然后通过服务器暴露给其他应用程序. 阅读全文
posted @ 2011-05-23 00:32 辛勤的代码工 阅读(565) 评论(0) 推荐(0) 编辑
  2011年5月22日
摘要: 可信赖会话 WCF的可信赖会话在绑定层保证消息只会被传输一次,并且保证消息间的顺序。当使用TCP通信时,协议本身保证了可靠性,但它只在两点间的网络包这个层面提供了这样的保证。WCF的可信赖会话特性保证了在传输过程中消息不会丢失、重复或错位。这种保证是消息层面的,且适用于任何数目节点间的通信。另外,使用可信赖会话时,WCF会重连掉线的连接,在重连失败时还会释放会话占用的相关资源。可信赖会话还会通过调整消息的发送频率来缓解网络拥挤。 为使用WCF的可信赖会话,必须选择支持可信赖会话的绑定。支持这一特性的预定义绑定包括WSHttpBinding、WSDualHttpBinding、WSFederat 阅读全文
posted @ 2011-05-22 12:44 辛勤的代码工 阅读(753) 评论(0) 推荐(0) 编辑
  2011年5月21日
摘要: 使用DataContractSerializer 终结点(包括地址、绑定、契约)可通过代码以编程方式添加到服务中。如:using(ServiceHost host = new ServiceHost(typeof(DerivativesCalculator), new Uri[] { new Uri("http://localhost:8000/Derivatives") })){ host.AddServiceEndpoint(typeof(IServiceViewOfService), new BasicHttpBinding(), "Calculator&q 阅读全文
posted @ 2011-05-21 17:21 辛勤的代码工 阅读(1034) 评论(0) 推荐(0) 编辑
摘要: 背景知识 WCF提供了一种语言为软件通信建模,称作服务模型。使用更底层的编程架构提供的类可以从这种语言建立的模型中生成可用的通信软件。 在服务模型使用的语言中,负责通信的软件部分称为服务(service)。一个服务具有一个或多个通信的终结点,终结点包括地址、绑定和契约。 地址的作用比较简单,它通过使用URL指定服务的唯一地址。 绑定指定了客户端与服务器间的通信协议。绑定至少需要分别提供一种编码消息和传输消息的协议。 契约指定了在一个终结点可以执行的操作。 以上节中的契约为例://契约[ServiceContract]public interface IDerivativesCalculator 阅读全文
posted @ 2011-05-21 15:07 辛勤的代码工 阅读(554) 评论(0) 推荐(0) 编辑
  2011年5月19日
摘要: 最近找工作,面试时经常被问懂不懂WCF。不少招聘高级.NET工程师的要求上都写着有WCF开发经验的优先考虑。我对于WCF仅仅是通过看一些教学视频这种山寨学习法了解一些。现在要下决心好好学习一下WCF了,所以在网上找了一本名为《WCF揭秘》的电子书,看目录好像还不错,网上评论一般,但我手头找不到其他WCF电子书籍了,就是它吧。 言归正传,现在就开始吧!WSDL WSDL(Web Services Description Language,Web服务描述语言)为将JAVA开发的应用程序与用COM或.NET开的的应用程序一起工作提供了一种通用的解决方案。WSDL提供了一种使用XML描述软件应用程序. 阅读全文
posted @ 2011-05-19 23:00 辛勤的代码工 阅读(942) 评论(0) 推荐(0) 编辑
  2011年5月4日
摘要: 页面方法只是页面代码类中所暴露的带有WebMethod特性的公共静态方法。页面方法和支持AJAX的Web服务的运行时引擎几乎相同。使用页面方法,我们不用创建和发布服务。页面方法的定义 在页面代码类中定义公共静态方法,并为其添加WebMethod特性,便会将ASP.NET AJAX页面转化为Web服务:public class TimeServicePage : System.Web.UI.Page{ [WebMethod] public static DateTime GetTime() { return DateTime.Now; }} 我们可以在页面方法中使用任何数据类型,所有类型在调用. 阅读全文
posted @ 2011-05-04 15:15 辛勤的代码工 阅读(527) 评论(2) 推荐(0) 编辑
摘要: WCF服务能够输出JSON,通过HTTP进行传输(不一定要用SOAP进行数据包装)。我们要做的是,使端点使用webHttpBinding绑定模型,并通过新的特性来启用Web脚本调用。构建一个简单的WCF服务 在VS2008中创建一个新Web站点,添加一个新的WCF服务,并将该项命名为TimeService。以WCF服务的形式重写TimeService 添加新项后,我们会发现项目中多了一个服务端点(timeservice.svc),与其相关的代码文件(如wcftimeservice.cs)位于App_Code文件家下。此外,web.config文件也会被修改,用于向系统注册刚刚创建的服务。 开. 阅读全文
posted @ 2011-05-04 14:45 辛勤的代码工 阅读(290) 评论(0) 推荐(0) 编辑
摘要: AJAX模型基于两个层次--客户端应用程序层和服务器应用程序层。在这种模型下,客户端层向服务器层发送请求,而服务器层向客户端层返回响应。服务器端点通过URL标识,并通过源(feed)(通常为JSON[JavaScript Object Notation]数据流)向客户端暴露数据。服务器层只是一个接收调用并将其转发给应用程序业务逻辑层的外观。下图描绘了整个模型: 为使ASP.NET AJAX页面能够调用远程服务,该服务必须满足几点要求,其中最关键的一点与端点和底层平台的位置有关。支持AJAX的服务必须位于调用者所处的域中。这意味着该服务必须是ASP.NET XML Web服务(.asmx端点). 阅读全文
posted @ 2011-05-04 12:14 辛勤的代码工 阅读(672) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 14 下一页