wcf

WCF后续之旅(9):通过WCF的双向通信实现Session管理[上篇]

谁说胖子不能爱 提交于 2020-03-23 10:55:08
我们都知道,WCF支持Duplex的消息交换模式,它允许在service的执行过程中实现对client的回调。WCF这种双向通信的方式是我们可以以Event Broker或者订阅/发布的方式来定义和调用WCF Service。今天我们就给大家一个具体的例子:通过WCF的duplex communication方式现在Session管理。 一、Session 管理提供的具体功能 我们的例子实现了下面一些Session Management相关的功能: Start/End Session: 可以调用service开始一个新的Session或者结束掉一个现有的Session。当开始一个Session的时候,service根据client端传入的client相关的信息(ClientInfo),创建一个SessionInfo对象,该对象由一个GUID类型的SessionID唯一标识,代表一个具体的Client和Service的Session。在service端,通过一个dictionary维护者一个当前所有的active session列表,key为SessionID,value是SessionInfo对象。当client调用相应的service,传入对应的SessionID,该SessionID对应的SessionInfo从该session列表中移除。 Session Timeout:

推荐大家WCF RIA Service的学习资源

自作多情 提交于 2020-03-23 10:54:29
如果晚上不加班,很早回家我都会在博客园里看看每天得精华文章。实际上我发现Silverlight的文章不少,但是WCF RIA Service的介绍还真的不多。 两三个月前,我开始学习WCF RIA Service,试着写了一系列文章。可惜当时是在csdn的博客写的。先在这里推荐给大家。 part1: 如何使用 RIA Services part2: RIA Services更新和验证 part3: RIA Services数据新增 part4: 皮肤的更改 part5: 报表的展示 part6: Endpoint 的设置 part7: 如何使用RIA Service Class Library part8: url 重写和界面友好 part9: MVVM+RIA Service 另外两篇: http://blog.csdn.net/dujingjing1230/archive/2010/04/24/5524761.aspx http://blog.csdn.net/dujingjing1230/archive/2010/04/24/5524308.aspx 如果你的E文还好的话,建议你看看下面我给你推荐的几个系列文章: 1 Nikhil Kothari的博客中关于RIA Service的。 .NET RIA Services: From Vision to Architecture

呼叫WCF Service的方法出现Method not allowed异常

☆樱花仙子☆ 提交于 2020-03-23 10:54:12
asp.net mvc练习程序,经常性在家里电脑,笔记本或是公司的电脑之间拷贝与粘贴,如果忘记携带最新的练习程序,一些小功能只能重新写了。 如前一篇《 ASP.NET MVC呼叫WCF Service的方法 》 http://www.cnblogs.com/insus/p/3720547.html 是在公司的电脑做好的练习,昨晚回至家中,但忘记拷贝回去了。只好重新对这个方法重写。但是,它死活是出现一个异常“ Method Not Allowed ”: 奇怪,与博客上的文章与帖出的示例代码,一一对比。结果让Insus.NET了解到WCF Service一些规范,原来: 把它改为大写"POST"之后,程序正常运行了。 一点点小经历,又对WCF Service了解多许多。 来源: https://www.cnblogs.com/insus/p/3727099.html

ASP.NET MVC呼叫WCF Service的方法

匆匆过客 提交于 2020-03-23 10:53:51
Insus.NET有在上一篇《 ASP.NET MVC呼叫WCF Service的方法 》 http://www.cnblogs.com/insus/p/3720547.html 直接呼叫WCF Service的方法,但是那个是方法是一个有返回数据的函数。我们是否可以使用jQuery的Ajax()直接执行WCF Service方法呢?也就是说,我们需要POST数据至WCF Service中去,执行一个方法。 用一个示例来演示吧。 在Service的接口中,添加一个Create方法,并带有两个参数。也就是说,稍后我们需要POST两个值至这个方法中。 下面是实现这个接口方法: 其实这是为数据库添加记录,如果你想看回asp.net MVC添加记录实现,可以查看Insus.NET一系列asp.net mvc的练习文章。 在控制中创建一个视图操作: 实现视图: 重点在于标记4的jQuery的Ajax方法: 实时操作演示: 来源: https://www.cnblogs.com/insus/p/3727875.html

ASP.NET MVC呼叫WCF Service的方法

旧巷老猫 提交于 2020-03-23 10:53:37
前一篇《 jQuery.Ajax()执行WCF Service的方法 》 http://www.cnblogs.com/insus/p/3727875.html 我们有练习在asp.net mvc应用程序中,POST 数据去wcf service并执行方法。 本篇的练习是提交较复对象至wcf service执行方法。前一篇中,它只传递两个参数。如果我们平时开发,需要传递过多的参数时,那得需要写很多个参数。因此产生此篇,把较多个参数,创建为一个对象。然后只传递这个对象至wcf service即可。 下面在asp.net mvc目录结构Models下,创建一个支持wcf service的对象: 在wcf service的接口中,创建两个方法,一个是传入主健值,获取单笔记录IEnumerable<Insus.NET.Models.FruitKind> GetByPrimaryKey(byte fruitKind_nbr)。另一个是更新数据void Update(Insus.NET.Models.Kind k): 下面是实现这两个方法: 接下来,我们要这篇的示例中《 ASP.NET MVC呼叫WCF Service的方法 》 http://www.cnblogs.com/insus/p/3720547.html ,添加一列: 运行结果显示如下: 去控制器中,添加一个视图操作(Action)

WCF Membership Provider

纵饮孤独 提交于 2020-03-21 11:13:23
ASP.NET 是自.NET 1.x 就已经有的技术,利用IIS+ASP.NET 搭建的网站已经有很多。针对IIS+ASP.NET 的网站模型也有很多案例,通过现在的搜索服务我们可以很轻易的获取这些内容。 大家可能很熟悉如何使用窗体认证,Windows认证,用户名/密码, SQL Server 等认证技术/服务来实现IIS + ASP.NET 站点的认证,而现在我们要讨论的是如何使用ASP.NET 来对WCF 服务进行验证。 现在,我们直接进入主题... 我们要讨论的模型简化的说就是WCF + 证书 + 消息认证 + Membership Provider, 具体说来就是WCF服务使用证书对通信过程加密,然后服务端对消息解密并通过Membership Provider 对解密的消息(用户名/密码)进行验证。 请看如下截图: 图片1-1 WCF 消息认证 + SqlMembership Provider 认证 接下来我们就如何构建WCF 消息认证 + SqlMembership Provider 认证给出一个具体的实施步骤。 第一步: 创建WCF IIS 服务 创建一个新的网站->选择 WCFService->将其命名为 service 第二步: 配置Solution. 图片1-2 Solution 配置 1 [ServiceContract] 2 public interface

WCF从理论到实践(1):揭开神秘面纱

本小妞迷上赌 提交于 2020-03-20 08:11:18
引子 WCF是"Windows Communication Foundation "的缩写,原来的代号为"Indigo",它是MS为SOA(Service Oriented Architecture)而设计的一套完整的技术框架。利用它能够开发出分布式(Distributed)应用程序,而且开发难度相比以前的.Net Remoting和Asp.Net Xml Web Service等都有了大幅度的降低。可以说WCF是目前微软平台下最先进的SOA框架,也是微软在今后一段时间内在该领域的主打产品。它具有很多优点,但本人总结起来,其最大的特征在于1)充分整合了原来的.Net Remoting,Asp.Net Xml Web Service,MSMQ,WSE,Enterprise Service等多项分布式技术,取其精华,弃其糟粕。2)WCF虽然整合了几项技术,但开发难度不增反降,简单易学。相信在未来的几年中,WCF一定在SOA的大潮中披荆斩棘,大展身手。本系列文章从大的方向上分为两个部分,第一部分是介绍WCF相关的理论知识,第二部分是用WCF来开发一个完整的项目实例。希望在理论和实践上和大家一起学习微软这个优秀的框架。 本文的出发点和目的 通过阅读本文,能解决以下几个问题 WCF是什么? WCF能干什么? WCF的今生前世? 学习WCF有哪些资源? 本文适合的读者 对WCF感兴趣的初学者

【WCF 1】WCF框架宏观了解

橙三吉。 提交于 2020-03-19 12:56:35
导读: 使用WCF框架爱开发项目也有很长一段时间了,最开始的时候,是理解的不深,所以不写博客进行总结。后来是项目赶,发现需要总结的有很多,一直没有把WCF排上日程,尤其是最近研究EF这一块,更是研究了一些ORM框架的东西,包括Hibernate工作原理等。最后,是因为自己都会了,觉得就先不总结了吧,反正都会。现在,正式总结WCF的第一篇博客,先宏观 介绍一下。 在基本概述中,主要是从书本、网络上查找的一些基本的定义 一、基本概述 【以下内容是从维基百科上搜索的WCF的定义】 Windows Communication Foundation (WCF) is a framework for building service-oriented applications. Using WCF, you can send data as asynchronous messages from one service endpoint to another. A service endpoint can be part of a continuously available service hosted by IIS, or it can be a service hosted in an application. An endpoint can be a client of a

近期团队博客的摘要 8

独自空忆成欢 提交于 2020-03-17 08:25:44
VS2008 SP1正式发布: WCF工具的相关功能和贴图 VS2008 SP1正式发布了! 在本篇文章中,我将会用贴图的形式向大家介绍在VS2008 SP1中由我们团队开发的WCF Tools 新功能。 点击这里 阅读全文。 在VS2008 SP1中WCF Tool的一些使用技巧 在这篇文章中,我将向大家分享一下在VS2008 SP1中WCF工具的一些使用技巧,希望能帮助大家更好的使用它们。 点击这里 阅读全文。 在VS2008 SP1中WCF Tools 相关的Readme文件 你可以在 这里 找到VS2008 SP1的readme文件。这里我摘抄了和WCF开发工具相关的两项。 点击这里 阅读全文。 SQL Server Build系统 你知道SQL Server这么庞大的企业级数据库服务器产品是如何build出来的吗? 点击这里 阅读全文。 使用IDispatch::Invoke函数在C++中调用C#实现的托管类库方法 CLR Interop简而言之是让非托管代码与托管代码之间可以相互调用的技术。这项技术可以使开发人员重用已有的托管或非托管组建,并根据自己的需要,权衡托管代码的简易性与非托管代码的灵活性,选择适合自己实际情况的编程语言,而不用过多考虑重用的组件是用哪种语言开发的。Interop中文的意思是互通性,既然是互通,代码的调用就有两种不同的方向

silverlight与wcf双向通讯 例子

拟墨画扇 提交于 2020-03-17 06:53:02
本文将建立一个silverlight与wcf双向通讯的简单实例,以下是详细步骤:   新建Silverlight应用程序,名称WCFtest。解决方案中添加WCF服务应用程序,名称WcfServiceTest,WCF服务将不再寄宿在Web中。   删除VS自动生成的IService1.cs和Service1.svc文件,修改WCF服务固定端口12345。   在WCF服务应用程序WcfServiceTest上,添加应用,选择浏览定位到 C:\Program Files\Microsoft SDKs\Silverlight\v4.0\Libraries\Server \System.ServiceModel.PollingDuplex.dll,PollingDuplex是一种扩展的双工轮询通讯方法,在安装的 Silverlight SDK中可以找到。     添加一个WCF服务,名称ServiceTest。 修改WCF服务应用程序WcfServiceTest的Web.config文件。 <?xml version="1.0" encoding="utf-8"?><configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> </system.web> <system