随笔 - 136  文章 - 0  评论 - 36  阅读 - 17万 
05 2011 档案
WCF揭秘学习笔记(5):WF定制活动
摘要:WF(Windows Workflow Foundation,Windows工作流基础)为.NET提供了一种基于模型的、声明方式的过程执行引擎,它改变了传统的通过一行行编写代码来开发服务功能的方式。 WF包含三个核心组件:活动框架(activity framework)、运行时环境(runtime environment)、工作流设计器(workflow designer)。WF不是什么 工作流这个词在软件开发领域和相关社区里已经被“滥用”了。所以弄清楚WF在这些流行的工作流概念中到底指的是哪一种就非常重要。 1. WF不是服务器,虽然可以将工作流功能集中起来然后通过服务器暴露给其他应用程序. 阅读全文
posted @ 2011-05-23 00:32 辛勤的代码工 阅读(577) 评论(0) 推荐(0) 编辑
WCF揭秘学习笔记(4):可信赖会话、会话管理、队列、事务
摘要:可信赖会话 WCF的可信赖会话在绑定层保证消息只会被传输一次,并且保证消息间的顺序。当使用TCP通信时,协议本身保证了可靠性,但它只在两点间的网络包这个层面提供了这样的保证。WCF的可信赖会话特性保证了在传输过程中消息不会丢失、重复或错位。这种保证是消息层面的,且适用于任何数目节点间的通信。另外,使用可信赖会话时,WCF会重连掉线的连接,在重连失败时还会释放会话占用的相关资源。可信赖会话还会通过调整消息的发送频率来缓解网络拥挤。 为使用WCF的可信赖会话,必须选择支持可信赖会话的绑定。支持这一特性的预定义绑定包括WSHttpBinding、WSDualHttpBinding、WSFederat 阅读全文
posted @ 2011-05-22 12:44 辛勤的代码工 阅读(753) 评论(0) 推荐(0) 编辑
WCF揭秘学习笔记(3):使用DataContractSerializer
摘要:使用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 辛勤的代码工 阅读(1036) 评论(0) 推荐(0) 编辑
WCF揭秘学习笔记(2):数据表示
摘要:背景知识 WCF提供了一种语言为软件通信建模,称作服务模型。使用更底层的编程架构提供的类可以从这种语言建立的模型中生成可用的通信软件。 在服务模型使用的语言中,负责通信的软件部分称为服务(service)。一个服务具有一个或多个通信的终结点,终结点包括地址、绑定和契约。 地址的作用比较简单,它通过使用URL指定服务的唯一地址。 绑定指定了客户端与服务器间的通信协议。绑定至少需要分别提供一种编码消息和传输消息的协议。 契约指定了在一个终结点可以执行的操作。 以上节中的契约为例://契约[ServiceContract]public interface IDerivativesCalculator 阅读全文
posted @ 2011-05-21 15:07 辛勤的代码工 阅读(559) 评论(0) 推荐(0) 编辑
WCF揭秘学习笔记(1):基础知识
摘要:最近找工作,面试时经常被问懂不懂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 辛勤的代码工 阅读(943) 评论(0) 推荐(0) 编辑
ASP.NET 3.5核心编程学习笔记(58):利用页面方法来进行远程调用
摘要:页面方法只是页面代码类中所暴露的带有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 辛勤的代码工 阅读(535) 评论(2) 推荐(0) 编辑
ASP.NET 3.5核心编程学习笔记(57):针对AJAX应用程序的WCF服务
摘要: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 辛勤的代码工 阅读(291) 评论(0) 推荐(0) 编辑
ASP.NET 3.5核心编程学习笔记(56):AJAX Web Service的调用
摘要:AJAX模型基于两个层次--客户端应用程序层和服务器应用程序层。在这种模型下,客户端层向服务器层发送请求,而服务器层向客户端层返回响应。服务器端点通过URL标识,并通过源(feed)(通常为JSON[JavaScript Object Notation]数据流)向客户端暴露数据。服务器层只是一个接收调用并将其转发给应用程序业务逻辑层的外观。下图描绘了整个模型: 为使ASP.NET AJAX页面能够调用远程服务,该服务必须满足几点要求,其中最关键的一点与端点和底层平台的位置有关。支持AJAX的服务必须位于调用者所处的域中。这意味着该服务必须是ASP.NET XML Web服务(.asmx端点). 阅读全文
posted @ 2011-05-04 12:14 辛勤的代码工 阅读(680) 评论(0) 推荐(0) 编辑
ASP.NET 3.5核心编程学习笔记(55):自定义扩展程序控件的创建
摘要:ASP.NET并没有包含对扩展程序的具体实现。然而,它定义了供所有自定义扩展程序和ACT中所有扩展程序使用的基类ExtenderControl。我们可通过该类创建自己的扩展程序。但并不建议这样做,因为利用ACT库中的扩展程序更简便易行。 下面的代码给出了“焦点扩展程序”控件的源代码,这个简单的扩展程序能为目标控件添加高亮行为,以便在该控件获得焦点时更改其外观:using AjaxControlToolkit;...namespace Core35{ [TargetControlType(typeof(Control)] [ClientScriptResource("Core35.Fo 阅读全文
posted @ 2011-05-03 21:03 辛勤的代码工 阅读(397) 评论(0) 推荐(0) 编辑
ASP.NET 3.5核心编程学习笔记(54):UpdatePanel
摘要:UpdatePanel控件是泛化的控件容器,负责刷新所有子控件,而不需要回发整个页面。这就是所谓的“部分呈现(partial rendering)”。使用该控件,我们可以包装现有页面的局部,或用ASP.NET 2.0编程模型开发的新页面的局部。在可更新区域中发起的所有回发,都会由UpdatePanel控件管理,并且只更新该区域的控件。UpdatePanel控件 UpdatePanel控件是应用AJAX最简单的方式,它允许我们向现有的基于ASP.NET 2.0编程模型编写的网站添加AJAX功能。我们除了要理解UpdatePanel控件的语法和语义外,不必学习其他技术。 部分呈现与传统的回发有何. 阅读全文
posted @ 2011-05-03 16:41 辛勤的代码工 阅读(1451) 评论(0) 推荐(0) 编辑
ASP.NET 3.5核心编程学习笔记(53):脚本管理器控件
摘要:ASP.NET AJAX服务器基础结构中最重要的控件包括ScriptManager(脚本管理器)及ScriptManagerProxy(脚本管理器代理)。每个ASP.NET AJAX页面中只有一个ScriptManager控件的实例。如果ASP.NET页面中不包含ScriptManager控件,则无法启用任何AJAX功能。ScriptManagerProxy控件只能用在母版页环境中,用于引用内容页中的源脚本管理器。 ScriptManager控件用于管理和分发脚本资源,使客户端脚本能够使用Microsoft AJAX框架。使用下面的代码能在页面中添加脚本管理器:<asp:ScriptMa 阅读全文
posted @ 2011-05-03 01:39 辛勤的代码工 阅读(535) 评论(0) 推荐(0) 编辑
ASP.NET 3.5核心编程学习笔记(52):Microsoft AJAX JavaScript类库
摘要:Microsoft AJAX库是用JavaScript编写的,但带有浓厚的面向对象色彩。JavaScript语言支持对象,也允许创建自定义的对象。但由于它本身没有对象继承的,因而它不支持完整的面向对象机制。ASP.NET AJAX添加了一些类型系统和命名空间与继承的概念,将JavaScript语言提高到了另一个层次。 这些扩展保存在一些.js文件中。这些文件没有以独立文件的形式随ASP.NET的安装而部署到Web服务器上,它们以资源的形式嵌入在ASP.NET AJAX程序集(system.web.extensions)中。JavaScript语言扩展 JavaScript语言带有一些内建对象. 阅读全文
posted @ 2011-05-02 22:37 辛勤的代码工 阅读(508) 评论(0) 推荐(0) 编辑
ASP.NET 3.5核心编程学习笔记(51):AJAX基础
摘要:out-of-band调用模型 使用AJAX功能在Web页面中发挥作用的关键因素是发送out-of-band HTTP请求。out-of-band是指通过独立于浏览器的组件发出HTTP请求。out-of-band调用由HTML页面事件通过脚本触发,随后会由代理组件处理。在AJAX框架中,这个代理组件基于XMLHttpRequest对象。 XMLHttpRequest是浏览器对象,它可以通过JavaScript脚本进行调用。XMLHttpRequest能够向指定的URL发送HTTP请求,并等待它被处理,该过程即能以同步方式执行,也能以异步方式执行。当响应数据就绪后,这个代理会调用用户定义的Jav 阅读全文
posted @ 2011-05-02 12:23 辛勤的代码工 阅读(337) 评论(1) 推荐(0) 编辑
ASP.NET 3.5核心编程学习笔记(50):ASP.NET的安全性之Membership与角色管理
摘要:Membership类 以Membership类的静态方法为中心的成员管理编程接口封装了凭据和其他用户信息的获取、比较操作细节。 Membership类默认使用的提供程序将用户信息以预定义的格式存储在SQL Express数据库中。如果希望使用自定义的数据存储(如个人数据库),我们可以创建自定义的提供程序,并将其插入到应用程序中。Membership类的编程接口 下表列出了Membership类的属性: Provider属性返回当前使用的成员资格提供程序的引用,该提供程序是在配置文件中选定的。ASP.NET自带了两个预定义的提供程序,分别面向SQL Server Express和活动目录。我们 阅读全文
posted @ 2011-05-01 22:34 辛勤的代码工 阅读(521) 评论(0) 推荐(0) 编辑
ASP.NET 3.5核心编程学习笔记(49):ASP.NET安全性之Forms身份验证
摘要:使用Forms身份验证 实际的Internet应用程序很少采用Windows和Passport身份验证方式。 如果要实现采集用户凭据并在内部进行处理,Forms身份验证是最理想的选择。为建立支持Forms身份验证的ASP.NET应用程序,需要这样设置web.config文件:<system.web> <authentication mode="Forms"> <forms loginUrl="login.aspx" /> </authentication> <authenciation> < 阅读全文
posted @ 2011-05-01 15:53 辛勤的代码工 阅读(553) 评论(0) 推荐(1) 编辑
ASP.NET 3.5核心编程学习笔记(48):ASP.NET的安全性之Windows身份验证与Passport身份验证
摘要:ASP.NET身份验证方法 基于被请求资源的类型,IIS可能会自己处理。如果该资源需要ASP.NET处理,IIS会将该请求连同已验证(或匿名)用户的安全令牌一起交给ASP.NET。 ASP.NET支持3种验证方法:Windows、Passport、Forms。还有一种选项是None,即ASP.NET本身不会试图执行身份验证,而完全依赖于IIS之前执行的身份验证。在这种情况下,匿名用户也能连接,并可通过ASP.NET默认帐户访问资源。 我们可通过应用程序的web.config文件根节点下的<authentication>区段来选择ASP.NET身份验证机制。子目录的身份验证模式继承于 阅读全文
posted @ 2011-05-01 11:31 辛勤的代码工 阅读(721) 评论(0) 推荐(0) 编辑
ASP.NET 3.5核心编程学习笔记(47):ASP.NET的安全性之安全性上下文与信任级别
摘要:威胁来自何方 下表列出了最常见的几种Web攻击: 从根本上讲,不论用户向浏览器的标记中插入何种数据,都有可能遭受代码注入攻击(即,SQL注入和XSS的各种变体)。此外,敏感数据不应被传输,而必须安全地保存在服务器上。ASP.NET安全性上下文 从应用程序的角度来看,安全性主要是对用户进行身份验证,以及授予其对系统资源的操作权限。ASP.NET结合了IIS、.NET Framework和操作系统的底层安全服务,提供了身份验证和授权机制。ASP.NET应用程序整体的安全性上下文由以下3个级别构成: 1. IIS级将有效的安全令牌与请求的发送者关联(该安全令牌取决于当前IIS身份验证机制)。 2. 阅读全文
posted @ 2011-05-01 10:38 辛勤的代码工 阅读(713) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示