摘要:
前言本次记录的主要内容为以下三点:会话、实例化、并发第一部分--会话会话是在两个终结点之间发送的所有消息的一种相互关系在服务协定上设置System.ServiceModel.ServiceContractAttribute.SessionMode值--Allowed:默认 客户端可以进行连接,并选择建立会话或不建立会话--Required 所有调用(即,支持调用的基础消息交换)都必须是同一个对话的一部分--NotAllowed 禁止会话WCF会话具有下列主要概念性功能:--他们由调用应用程序显式启动和终止。--会话期间传递的消息按照接收消息的顺序进行处理。--会话将一组消息相互关联,从而形成会 阅读全文
摘要:
先来了解一下基本WCF术语第一创建WCF服务协定消息 消息是一个独立的数据单元,它可能由几个部分组成,包括消息正文和消息头。服务 服务是一个构造,它公开一个或多个终结点,其中每个终结点都公开一个或多个服务操作。终结点 终结点是用来发送或接收消息(或执行这两种操作)的构造,终结点包括一个定义消息可以发送到的目的地的位置(地址)、一个描述消息应该如何发送的通信机制规范(绑定)以及对于可以在该位置发送或者接收(或两者皆可)的一组消息的定义(服务协定),——该定义还描述了可以发送何种消息。 WCF服务作为一个终结点集合向外界公开。 类或接口都可... 阅读全文
摘要:
话说从开始接触MVC到现在也有一段时间了,记得好像是从2012年8月初开始做项目的。就记录一下自己所用到的且认为重要的知识点吧。首先做的便是一个登录,那么就用到了登录权限认证: public class UserAuthentication : AuthorizeAttribute { public UserToUrlEnum UserToUrlEnum { get; set; } public UserAuthentication() { this.UserToUrlEnum = UserToUrlEnum.Log... 阅读全文
摘要:
首先我们可以先来了解下什么是反射 Reflection,中文翻译为反射。 这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型 (class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如: Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装配件中查找类型信息,并创建该类型的实例。Type类可以获得对象的类型信息,此信息包含对象的所有要素:方法、构造器、属性等等,通过Type类可以得到这些要素的信息,并且调用之。MethodInfo包含方 阅读全文
摘要:
在做项目的时候,例如WCF服务一般都会将WCF服务承载于控制台应用程序,或者WinForm窗体应用程序,因为这样可以直接在服务代码上打断点,然后就可以调试了。但是项目已经发布了,当然这里我用的本机进行测试的,比如Web项目,或者WCF服务都发布于IIS后,有时候代码中会有意想不到的错误,有时候又必需通过调试才能解决问题,那么如何进行调试呢。我这里是Win7+VS2010+IIS7.0.首先通过IIS进行浏览Web网站的时候,在VS2010相应文件上已F9做好断点处理的操作,然后可以通过这样继续操作,你就可以在VS2010中调试了。 阅读全文
摘要:
有图有真相,如果你也是菜鸟那就也来看看我这个菜鸟一步一步的实现吧。我们都知道WCF在运行的时候必须自己提供宿主来承载服务。WCF 本身没有附带宿主,就需要我们自己来依附于宿主而承载WCF服务。那么现在主要有几种方式来为我们提供WCF的承载呢?1.在IIS中承载2.在Windows 进程激活服务(WAS)中承载3.在托管应用程序中承载(自承载)第一种在IIS中承载 WCF可以方便的通过IIS承载。此承载模型与ASP.NET和ASP.NET Web Service使用的模型类似。 可在以下操作系统上的IIS承载WCF --Windows XP SP2上的IIS 5.1 --Windows ... 阅读全文
摘要:
有图有真相,如果你也是个菜鸟,那就顺便来看看我这个菜鸟一步一步的实现吧。紧跟着菜菜从零学习WCF四(承载服务),我们在此节已经在IIS中发布了此项服务。下面我们先来了解一下,如何来生成客户端吧。1.获取服务协定、绑定和地址 --通常,可以通过使用ServiceModel Metadata Utility Tool(Svcutil.exe)完成此操作 从服务中下载元数据,并使用您选择的语言将其转换到托管源代码文件中 创建一个可用于配置WCF客户端对象的客户端应用程序配置文件 此协定代码编译为客户端应用程序或另一个程序集,然后,客户端应用程序可以使用该程序集创建一个WCF客户端对象。 可... 阅读全文
摘要:
前言本次记录主要记录三个重要的内容:Message类概述使用Message类创建消息读取Message类消息第一部分--Message类概述Message类是WCF的基本类。客户端与服务之间的所有通信最终都会产生要进行发送和接收的Message实例,通常不会与Message里直接进行交互。相反,您需要使用WCF服务模型构造(如数据协定、消息协定和操作协定)来描述传入消息和传出协定。在以下情况下可能需要使用Message类: 需要一种替代方式来创建传出的消息内容(例如,从磁盘上的文件直接创建消息),而不是序列化.NET Framework对象。 需要一种替代方式来使用传入的消息内容(... 阅读全文
摘要:
前些日子,简单的熟悉和了解了一下委托,因为自己之前也没接触过委托,所以就上网搜罗了一下,并简单的记录和实践了一下,并将此记录在了博客园里了。今天正好有空,就再来回顾一下,慢慢了看了一下还是感觉像是新知识,虽然脑子里隐隐约约的有了一些印象。C#委托一 (委托基础) C#委托二 (委托类型)通过委托基础简单的对委托进行了了解,然后定义了简单的委托,通过委托实现两个数值之间比较大小。然后对委托类型进行初步的了解。C#委托三 (多播委托)多播委托就是通过委托可以依次的执行我们预先定义好的方法。C#委托四 (匿名方法)匿名方法就好像是没有方法,当一个方法很少使用,或者方法体很短的话可以使用,并且在C#3 阅读全文
摘要:
本节主要讲述数据协定的一些理论知识,在此记录一下,用于以后的翻查。1.数据协定概述 --默认情况下,Windows Communication Foundation(WCF)使用称为数据协定序列化程序的序列化引擎对数据进行序列化和反序列化(与XML进行相互转换) --所有.NET Framework 基元类型(如整型和字符串型)以及某些被视为基元的类型(如DateTime和XmlElement)无需做其他任何准备工作就可序列化并被视为拥有默认数据协定 --必须为所创建的新复杂类型定义数据协定以便可以进行序列化 --正常情况下可通过将DataContractAttribute属性应用到该... 阅读全文