
WCF
文章平均质量分 86
SchenkKim
这个作者很懒,什么都没留下…
展开
-
从零开始学WCF(5)生成客户端
获取服务终结点的服务协定、绑定以及地址信息通常我们可以通过使用Service Model Metadata Utility Tool(Svcutil.exe)完成此操作。使用该信息创建WCF客户端调用操作处理错误为双工服务创建回调对象异步调用服务原创 2013-10-08 16:15:56 · 1901 阅读 · 0 评论 -
从零开始学WCF(7)消息协定
消息协定概述通常,定义消息的架构时使用数据协定就足够了。但有时必须精确控制如何将类型映射到通过网络传输的SOAP消息。对于这种情况,最常见的方案是插入自定义SOAP标头。另一种常见方案是定义消息头和正文的安全属性,也就是说,确定是否对这些元素进行数字签名和加密。消息样式的操作可提供这种控制。消息样式的操作最多具有一个参数和一个返回值,其中参数和返回值的类型都是消原创 2013-10-14 14:00:47 · 1458 阅读 · 0 评论 -
从零开始学WCF(8)Message类
Message类概述Message类是WCF的基本类。客户端与服务之间的所有通信最终都会产生要进行发送和接收的Message实例。通常不会与Message类直接进行交互。相反,需要使用WCF服务模型构造(如数据协定、消息协定和操作协定)来描述传入消息和传出消息。在以下情况下可能需要使用Message类:1) 需要一种替代方式来创建传出的消息内容(例如:从磁盘上的文件直接原创 2013-10-15 14:55:20 · 2068 阅读 · 0 评论 -
从零开始学WCF(9)会话、实例化和并发
会话“会话”是在两个终结点之间发送的所有消息的一种相互关系。这个与ASP.NET的Session是不一样的。在服务协定上设置 System.ServiceModel.ServiceContractAttribute.SessionMode值:—— Allowed:允许会话( 默认的设置),客户端可以进行连接,并选择建立会话或不建立会话。—— Required: 所有调用(即支持调用原创 2013-10-17 14:03:28 · 1342 阅读 · 0 评论 -
从零开始学WCF(10)序列化
DataContractSerializerWCF包括新序列化引擎DataContractSerializer。 DataContractSerializer可在.NET Framework对象和XML之间进行双向转换。WCF会默认的使用这个引擎来进行序列换操作。在对.NET Framework对象进行序列化时,序列化程序了解各种序列化编程模型,包括新的数据协定模型。当对XML进行反序原创 2013-10-18 15:46:03 · 1513 阅读 · 0 评论 -
WCF 服务IIS部署 SvcUtil.exe 工具文件地址 及 生成代理类命令
WCF 服务IIS部署 SvcUtil.exe 工具文件地址 及 生成代理类命令开发工具:Microsoft Visual Studio 20101.创建自己的WCF 服务引用程序,如图12.自定义服务方法和方法实现Web.config 文件手动参数配置:xml version="1.0" encoding="utf-8"?>configu转载 2013-09-27 16:21:35 · 869 阅读 · 0 评论 -
从零开始学WCF(6)数据协定
1 数据协定概述数据协定是在客户端与服务端之间进行数据传递的一种包装方式。数据协定也是一个基本的class,只不过在类上添加了[DataContract],并且在类中的元素使用[DataMember]来修饰。默认情况下,WCF使用成为数据协定序列化程序的序列化引擎对数据进行序列化和反序列化(与XML进行相互转换)。所有.NET Framework基元类型(如整形和字符串型)以及某些被视原创 2013-10-11 11:03:43 · 1253 阅读 · 0 评论 -
从零开始学WCF(1)WCF概述
什么是WCF?在了解WCF前,我们先看一个场景:一家汽车租赁公司决定创建一个新的应用程序,用于汽车预定。该租车预定应用程序的创建者知道,应用程序锁实现的业务逻辑必须能够让公司内外运行的其他软件访问:1. 运行在Windows桌面上的呼叫中心客户端应用程序2. 基于J2EE服务器构建、在非Windows系统上运行的现有预定应用程序。由于最近与另一家汽车租赁公司合并,此现有系统必须转载 2013-09-10 16:51:16 · 1608 阅读 · 0 评论 -
Silverlight Business Application 与 WCF Ria Service的使用 (1)
该Demo是使用Silverlight Business Application的框架来通过WCF Ria Service来读取一个表里的数据后,显示到Silverlight页面里。1) 新建项目的时候选则新建"Silverlight Business Application",该项目模板会自动启动WCF RIA Service,项目名称“RiaServiceDemo”。2) 在该项目中的原创 2013-07-31 14:58:27 · 1090 阅读 · 0 评论 -
Silverlight WCF RIA服务(八)Domain Services 1
Domain Services 是向客户端公开数据访问层的WCF Services。当我们创建一个domain services实例时,就指定了想要公开的实体类,以及这个domain Services所允许的数据操作。DomainService类 和派生类DomainService类是所有做为domain Services的服务类的基类。WCF RIA Services还提供了LinqTo转载 2013-07-05 16:29:04 · 623 阅读 · 0 评论 -
Silverlight WCF RIA服务(七)中间层简介
在3-层结构的应用程序中,中间层包含了如何管理在表示层和数据层之间交互的逻辑。我们在中间层应用商业逻辑和验证来确定数据是可接受的。例如,在人力资源应用程序中,我们可以提供一个允许员工提交休假申请的界面,但我们应该确定员工的可休假额度不小于0。因此,我们在提交申请之前,在中间层添加逻辑来检测员工的休假额度。为了创建最好的RIA客户端用户体验,例如Silverlight应用,我们经常想在客户端执行转载 2013-07-04 17:22:05 · 501 阅读 · 0 评论 -
Silverlight WCF RIA服务(六)创建RIA Services 类库
RIA Services 类库允许我们创建能够重复使用的中间层和表现层逻辑。然而,使用RIA Services类库要比创建RIA Services解决方案复杂的多。在本节演练中,将创建一个拥有RIA Services类库代码的SL应用程序。简单起见,把类库放在了SL应用程序相同的解决方案里。当然,类库也可以放在分开的解决方案中。创建包含WCF RIA Services类库的SL解决方案转载 2013-07-04 11:17:23 · 706 阅读 · 0 评论 -
Silverlight WCF RIA服务(一)简介
WCF RIA Services简化了N层结构的RIA应用程序的开发,例如Silverlight应用。当开发一个N层结构的RIA应用程序时,一个通常的问题就是在中间层和表现层之间协调应用逻辑。为了建立更好的用户体验,你可能想要你的RIA客户端了解在服务器上的应用逻辑,但并不想开发和维护在表现层和中间层上的应用逻辑。现在RIA服务可以解决这个问题,它提供框架组件、工具以及服务来使RIA客户端不用手动转载 2013-07-03 16:19:55 · 685 阅读 · 0 评论 -
Silverlight WCF RIA服务(五)使用SL商业应用模板
SL商业应用程序模板创建一个自动包含许多你所想要的特性的应用程序,例如用户登录和注册的控件。这个项目还建立SL导航,这就意味着你能够方便的添加新的SL页来添加新功能。默认的情形下,SL商业应用程序模板允许身份认证、角色和Profiles。在这个演练中,学习如何用SL商业应用程序模板来创建WCF RIA Services。在VS中,选择 文件->新建项目。出现 新建项目转载 2013-07-04 11:11:02 · 666 阅读 · 0 评论 -
从零开始学WCF(12)详解传输
选择传输方式传输层是通道堆栈的最低层。WCF中使用的主要传输有HTTP、TCP和命名管道。WCF编程模型将终结点操作(如服务协定中所表示)与连接两个终结点的传输机制分隔开,这样决定如何向网络公开服务时,就具有一定的灵活性。在WCF中,可以通过使用“绑定”(有一系列的绑定元素组成)来确定如何在终结点之间通过网络传输数据。传输由传输绑定元素(绑定的一部分)表示。绑定包括可选的协议绑定元原创 2013-10-25 11:03:05 · 2157 阅读 · 0 评论 -
HTTP could not register URL http://+:8000/ServiceModelSamples/service/. Your
天继续调试WCF Web API源代码,方向是跟踪其单元测试,结果一上手就出了一个错误: HTTP could not register URL http://+:8000/testservice/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwl原创 2013-10-22 15:46:08 · 1419 阅读 · 0 评论 -
从零开始学WCF(3)配置服务
配置服务概念在设置和实现服务协定后,即可配置服务。在其中可以定义和自定义如何向客户端公开服务,包括指定可以找到服务的地址(IP)、服务用于发送和接收消息的传输(HTTP/TCP)和消息代码,以及服务需要的安全类型。配置服务的类型:1) 使用配置文件配置。(App.config)2) 在代码中强制配置。(没有办法在后期部署的时候修改,不建议使用) 实际上,编写配置是WCF应用原创 2013-09-23 14:21:45 · 1523 阅读 · 0 评论 -
从零开始学WCF(2)设计和实现服务协定
创建服务协定WCF术语1. 消息: 消息是一个独立的数据单元,他可能由几个部分组成,包括消息正文和消息头。2. 服务: 服务是一个构造,它公开一个或多个终结点,其中每个终结点都公开一个或多个服务操作。3. 终结点: 终结点是用来发送或接受消息(或执行这两种操作)的构造。终结点包括一个定义消息可以发送到的目的地的位置(地址);一个描述消息应如何发送的通信机制规范(绑定)以及对于可以在原创 2013-09-11 11:35:03 · 1338 阅读 · 0 评论 -
从零开始学WCF(4)承载服务
在IIS中承载WCF可以方便的通过IIS承载。此承载模型与ASP.NET和ASP.NET Web Service使用的模型类似。可以在一下操作系统上的IIS版本上承载WCF—— Windows XP SP2上的IIS 5.1—— Windows Server 2003上的 IIS 6.0—— Windows Vista(Windows 7)和Windows Server 200原创 2013-09-27 14:57:17 · 1682 阅读 · 0 评论 -
Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceMode
解决:Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceMode今天在部署一个WCF服务的时候,获取运行出错如下:Could not load type 'System.ServiceModel.Activation.HttpModule' fro原创 2014-07-03 16:03:51 · 1515 阅读 · 0 评论 -
Silverlight MVVM + WCF Ria Service 餐馆点菜DEMO
1) 新建Silverlight Application,然后再.Web项目中添加相应数据库的Entity Data Model 数据模型。2) 在.Web项目中添加中间层DomainService,来用于在Silverlight Application中访问Entity Data Model数据库。3) 设计UI界面MainPage.xaml:<UserControl xml原创 2013-12-20 16:43:01 · 1487 阅读 · 0 评论 -
SubmitChanges后就报一个错 code:4004. Category:ManagedRuntimeError
这是由于数据库中插入的表没有设置主键而造成的。注意事项: 1. 数据库中的表一定要有主键。因为我不是专业人事,我一直没认为主键是个必须的东西,所以我的个别数据表因为想偷懒而没有设置主键,尤其在我设置了自增值字段如***id以后。但是如果在这种情况下你执行SubmitChanges()程序会处于停滞状态,也不报错。我实验了半天,终于想起了生成ado实体数据时vs2010给我的警原创 2013-12-20 10:45:37 · 1607 阅读 · 0 评论 -
使用VS2010(C#语言)创建Windows Service详细图解
步骤如下:1、 打开VS2010,文件/新建/项目,在新建项目框中 选择Windows Service 或 Windows服务;2、 双击打开Service1.cs,此时看到的是设计视图,点击菜单栏的 工具/选择工具箱项,如图1所示,在.NET Framework组件中找到Timer,系统默认的是System.Windows.Forms命名空间的Timer,而我们需要的是Sys原创 2013-11-28 11:05:21 · 1678 阅读 · 0 评论 -
WCF之使用证书建立消息级别的安全
makecert.exe -sr CurrentUser -ss My -n CN=clientcert -sky exchange -sk - pe 建立客户端证书makecert.exe -sr LocalMachine -ss My -n CN=servercert -sky exchange -sk –pe 建立服务端证书将客户端证书从Personal拷贝到客户端机器的Cur转载 2013-11-05 11:30:27 · 846 阅读 · 0 评论 -
从零开始学WCF(14)WCF安全性概述
安全性概述常见的安全威胁:1) 观测网络流量以获取敏感信息。以在线银行为列,某个客户端请求将资金从一个账户转账到另一个账户。一个恶意用户截获了此消息(具有账号和密码),随后从盗用的账户将资金转出。2) 欺诈性实体在客户端未发觉的情况下其服务的作用。在此情况下,恶意用户(欺诈方)充当在线服务,从客户端截获消息以获取敏感消息。然后,欺诈方使用窃取的数据将资金从盗用的账户转出。此类攻击也称为原创 2013-11-01 15:01:14 · 3863 阅读 · 0 评论 -
使用SVCUTIL生成客户端代理类时:元数据包含无法解析的引用:“https: 无法为 SSL/TLS 安全通道与颁发机构“localhost”建立信任关系。基础连接已经关闭: 未能为 SSL/TL
在使用SVCUTIL生成WCF服务客户端代理类时:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>svcutil.exe /out:c:/ClientCode.cs /config:c:/app.config https://localhost/TransportSecurity/CalculatorService.svc原创 2013-10-31 12:43:40 · 3926 阅读 · 0 评论 -
从零开始学WCF(11)大型数据和流
基本考虑事项编码数据的流模式原创 2013-10-23 16:07:15 · 1513 阅读 · 0 评论 -
从零开始学WCF(13)事务
WCF事务概述及事务模型事务提供一种分组方法,将一组操作分为单个不可分的执行单元。事务是指具有下列属性的操作集合:1) 原子性:此属性可确保特定事务下完成的所有更新都已提交并保持持久,或所有这些更新都已终止并回滚到其先前状态。2) 一致性:此属性可保证某一事务下所做的更改表示从一种一致状态转换到另一种一致状态。例如,将钱从支票账户转移到存款账户的事务并不改变整个银行账户中的钱的总额。原创 2013-10-29 10:52:41 · 1577 阅读 · 0 评论 -
Silverlight WCF RIA服务(四)如何添加和移除RIA Services Link
当创建一个新WCF RIA Services解决方案时,你将会在客户端和服务端之间指定一个RIA Services Link。当然我们也可以在已存在的项目中添加和移除Link。在已存在项目中添加RIA Services Link在资源管理器中,在Silverlight客户端上右键点击,并选择属性。 在 WCF RIA Services link 下拉单中,选择想用来当中间层转载 2013-07-04 11:06:29 · 887 阅读 · 0 评论 -
Silverlight WCF RIA服务 (三)创建一个RIA Services Solution
在本节,我们将进行一个演练。我们创建一个WCF RIA Services 应用,此应用从AdventureWorksLT 数据库中检索数据。我们会用SL来创建表现层的客户端,并创建表现不同数据库表的实体类。此节需要:Visual Studio 2008 Silverlight 3 WCF RIA Services Beta for visual St转载 2013-07-04 10:19:09 · 863 阅读 · 0 评论 -
Silverlight WCF RIA服务 (二)解决方案结构
上节大概介绍了一下 WCF RIA 服务, 这次介绍下整个解决方案的结构。当创建应用程序时,WCF RIA服务可以帮你建立满足各种各样情况的解决方案。例如只是在中间层访问很少domain services的Silverlight应用程序。更复杂的例子可能是几个Silverlight程序都连接到一个提供许多domain services的通用中间层。本节就介绍几种构建RIA服务解决方案的方式转载 2013-07-03 16:52:27 · 761 阅读 · 0 评论 -
Silverlight WCF RIA服务(二十一)Silverlight 客户端 2
客户端代码生成当我们使用RIA Services连接中间层和表示层时,RIA Services为客户端项目生成了客户端代理类,这些类是以中间层公开的实体和操作为基础的。因为RIA Services生成了这些类,所以我们不必再复制这些中间层和表示层中的应用逻辑。因为我们对中间层所做的任何修改,在重新生成客户端项目时都会自动与表示层同步的。生成的代码位于客户端项目的Generated_Co转载 2013-07-09 10:24:45 · 846 阅读 · 0 评论 -
Silverlight WCF RIA服务(十六)表示模型
WCF RIA Services允许我们创建数据模型来综合从数据访问层得到的不同实体数据。这个模型就是表示模型。当我们不想把数据层的数据直接公开给客户端时,会使用这个特性。当使用表示模型时,可以只修改表示模型而不是客户端来回应数据访问层中的改动。还可以设计一个综合那些仅与客户端用户相关的字段的模型,来简化客户端代码。创建表示模型需要用来维护数据完整性的数据库结构可能会比在客户端应用中需要的转载 2013-07-08 16:17:23 · 653 阅读 · 0 评论 -
Silverlight WCF RIA服务(十)Domain Services 3
如何在Domain Services中添加商业逻辑即使在Domain Services中已经包含了更新、插入、删除等操作,但我们还是经常需要添加一些商业逻辑来管理那些修改数据的过程。还可能需要添加一些有别于传统的新的查询、更新等操作。这节中,我们将学习如何修改数据操作来满足商业要求,还学习如何添加一个命名的更新named update方法和一个调用invoke的操作在操作数据的方法中添加商转载 2013-07-08 11:16:50 · 1040 阅读 · 0 评论 -
Silverlight WCF RIA服务(十九)共享代码 2
如何:通过源文件来共享代码我们可以通过源文件来在中间层和表示层之间共享代码。当在中间层修改源文件,并重新生成应用程序时,在客户端会自动同步更新了的代码。当代码不属于domain Service或实体类,而且我们不想代码经历客户端代码生成步骤时,我们把代码放在共享的源文件中。通过使用共享命名规范或文件链接来共享源文件。下面示例使用这两种方法来共享源文件。使用共享命名规范转载 2013-07-08 16:57:04 · 557 阅读 · 0 评论 -
Silverlight WCF RIA服务(十七)数据 7
数据模型中的继承WCF RIA Services允许我们使用做为继承体系中的一部分的实体。一个继承模型包含了一个从其他数据类派生的数据类。例如,一个多态继承模型可以包含一个Customer实体和两个从Customer派生的实体(PublicSectorCustomer和PrivateSectorCustomer)。通过RIA Services,我们可以在domain Services中写一个返转载 2013-07-08 16:31:41 · 642 阅读 · 0 评论 -
Silverlight WCF RIA服务(十二) 数据 2
如何添加元数据类WCF RIA Services支持对实体类和成员的批注。批注是通过叫做元数据类的局部类来实施的。当我们想批注一个生成的实体类,并在重新生成这个实体类时不想丢失这些批注,我们使用元数据类。通过使用[MetadataTypeAttribute]属性来指定一个元数据类。有两种方式来添加元数据类。一种是当添加一个新的Domain Service类时,指定自动生成元数据转载 2013-07-08 14:56:53 · 622 阅读 · 0 评论 -
Silverlight WCF RIA服务(二十)Silverlight 客户端
Silverlight客户端使用WCF RIA Services,我们可以创建一个当数据交互时知道中间层应用逻辑的Silverlight客户端。还可以对可见的和可编辑的数据提供用户接口,来在提交数据修改之前应用验证规则。我们的SL控件将会使用从中间层代码自动生成类。次章节介绍SL客户端如何使用domain context, 如何与数据一起工作,以及如何自定义生成的代码.使用DomainCo转载 2013-07-09 10:19:25 · 598 阅读 · 0 评论 -
Silverlight WCF RIA服务(十五)数据 5
层的组成WCF RIA Services允许我们为具有层次概念的数据类创建应用逻辑,例如SalesOrderHeader实体和SalesOrderDetail实体。这样相关实体就组成了所谓的层次。定义了类之间的组成关系后,就可以像操作一个单一个体一样来操作对实体的数据修改,而不是像操作独立实体那样。这就会简化中间层的逻辑,因为我们可以对整个实体层来写应用逻辑,而不是把逻辑拆分对应每个实体并在数转载 2013-07-08 15:42:20 · 868 阅读 · 0 评论 -
Silverlight WCF RIA服务(十四)数据 4
如何自定义解决数据并发性冲突WCF RIA Services框架把原值和更改后的值一起传递给数据访问层。这就允许数据访问层在提交数据更改之前检测数据并发性冲突。数据访问层是通过检测数据源中的当前值是否与Domain操作中检索到的值一致来判断冲突的。我们可以为一个特定的实体自定义如何解决数据并发性冲突,这个方法在冲突确认时被调用。在这个方法中,可以指定步骤来解决冲突。这个方法必须匹配作为解决转载 2013-07-08 15:30:36 · 615 阅读 · 0 评论