无论是基于传输的安全还是基于消息的安全,都可以通过对绑定进行相应的设置实现。...还需要基于多次服务访问的事务(将多次服务调用纳入同一个事务之中);不仅仅需要基于单一平台的事务支持,还需要跨平台的事务(比如将基于.NET平台的WCF服务调用和基于J2EE平台的Web服务调用纳入同一个事务中...至于WsDualHttpBinding为何不支持基于传输的安全,原因也很简单,因为HTTP协议下的传输安全通过HTTPS(SSL)实现,HTTPS依赖于一个真正意义上的Web站点,也就是只有访问一个真正意义上...又是如果在HTTP传输协议上实现双工通信的呢?...命名管道本身可以支持跨机器的通信,而在WCF中对NetNamedPipeBinding作了更加严格的限制,使其只能用于同一台机器的跨进程通信(IPC)。
到目前为止,对于WCF安全传输的三个方面,我们已经对认证进行了详细的介绍,现在我们来关注另外两个话题:消息的一致性和机密性,两者又统称为消息保护(Message Protection)。...消息的安全等级指的是对整个消息或者消息的某个部分事实安全保护采用的等级。按照级别的由低到高,WCF支持如下三种不同的安全等级。...在WCF的应用编程接口中,消息保护级别通过如下定义的ProtectionLevel枚举表示。...从这个意义上讲,消息保护级别属于契约的一部分,所以基于消息安全级别的编程体现在契约的定义中。...为了使我们的程序显得简洁,我写了如下一个针对Binding类型的扩展方法PrintProtectionLevel,用于输出绑定对请求和回复消息采用的保护级别。
常见的策略是在每台机器发布应用时,节点从负载均衡节点集合中移除,发布结束后,首次访问通过人工或自动请求下页面让其缓存,也包括预编译。...缓存的业务逻辑、并发处理在独立进程中做,使用进程通信进行交互。这样不但解决了数据量大预热的麻烦,还能解耦部分应用的业务。 另外单独的进程也可以供外部使用,比如以WCF服务的方式提供给其他子系统使用。...Service端: ServiceHost host = new ServiceHost( typeof (CacheService)); var NamePipe = new NetNamedPipeBinding...上图是在windows7 i5-3230CPU上跑的,13M和1M文本数据各100次传输测试的均值。 其中原生namedpipe相较已经非常快了,在可以接受的范围,共享内存的方式速度会更快些。...测试结果表明Wcf的namedpipe要慢于wcf-tcp的方式,这个让人有些意外。
为了使用上 WCF 在 csproj 上添加 System.ServiceModel 的引用 在 SDK Style 的 csproj 项目文件上,添加对 WCF 引用的方法是在 csproj 上添加如下代码...localhost/MyWCFConnection"); var dataServer = ChannelFactory.CreateChannel(new NetNamedPipeBinding...然而除此之外,在堆栈网上面也列出了其他的很多应用也会导致此问题。这个问题其实 WCF 和应用两边都有锅 在 WCF 上,为了安全考虑,反而挖了如此的坑,会让应用受到了本机内其他在运行的应用的影响。...预计大概到 2022 的时候,这个库能更加稳定 本文所有代码放在github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码...以上使用的是 gitee 的源,如果 gitee 不能访问,请替换为 github 的源 git remote remove origin git remote add origin https://
对消息进行签名和加密分别解决了消息的一致性和机密性问题。而最终是仅仅采用签名还是签名与加密共用取决于契约中对消息保护级别的设置。但是具体的签名和加密在整个WCF框架体系中如何实现?...而信道层是根绝终结点绑定创建的,而绑定从结构上是一系列绑定元素的有序集合。当绑定的安全开启的时候,决定最终安全传输实现方式的必然是某一个或者多个绑定元素。...从名称我们都可以猜出,SymmetricSecurityBindingElement采用了对称加密的实现了对消息的签名和加密。...对象上。...上。
) 和 Windows Workflow Foundation (WF) 服务的托管: 简化 WAS 中托管的 WCF 和 WF 服务的部署和管理 简化耐久工作流的暂留配置 可自定义的跟踪配置文件,使您可以捕获所需的数据...由于您的应用程序可能包含场中多个服务器上运行的组件,因此还必须可从多个服务器同时轻松访问数据存储。 为满足这些条件,AppFabric 将所有暂留和监控信息存储在数据存储中。...尽管 IIS 和 WAS 的结合功能为 WCF 和 WF 应用程序提供了强大的托管环境,但充分利用这些功能通常需要开发人员在部署和配置应用程序上投入相当大的精力。...换句话说,无论构成缓存群集的计算机有多少台,您的客户端应用程序都可以与群集中单个逻辑单元的缓存配合使用。 ...下图显示所有这些元素的关联情况。 缓存主机 AppFabric 缓存服务是运行在一个或多个服务器上的 Windows 服务。运行缓存服务的每个服务器均称为一个缓存服务器。
但是,还要考虑很多其他设计因素,包括传输协议、主机进程、安全性、性能、状态管理以及对事务的支持等。...传输协议和主机进程 尽管 SOAP 规范并不要求用 HTTP 作为传输协议,但是客户端只能通过 HTTP 访问使用 ASP.NET Web 服务实现的 Web 服务,因为它是 ASP.NET 支持的唯一一种传输协议....NET Remoting 使您能够在任何类型的应用程序(包括 Windows 窗体、托管的 Windows 服务、控制台应用程序或 ASP.NET 辅助进程)中灵活地托管远程对象。...ASP.NET 支持基于目标 URL 的访问控制,并通过与 .NET 代码访问安全性 (CAS) 基础结构的集成支持访问控制。SSL 可用于确保通信的安全。...SingleCall 对象是无状态的(如用于调用 ASP.NET Web 服务的对象),Singleton 对象共享所有客户端的状态,客户端激活的对象在每个客户端的基础上保持状态(带有其产生的所有相关的可升级性和可靠性问题
很多大公司都构建了自己的SOA框架,不过基本上都是以WCF框架为基础,对其进行了相应的简化和微调。因此学习该框架,可以触类旁通,对应用和搭建自有的SOA架构也有很大的帮助。...实际上,其是构建大型软件应用的一种重要理念,并不是什么具体的技术或者平台。...,因此其主机名为localhost,此外由于基于同一台机器,端口变得没有意义。...从基础架构的角度上看,WCF可以分为服务模型层和信道层两个层次,服务模型层建立在信道层的基础是上,而信道层就是通过本节即将介绍的binding绑定创建,注意这儿的绑定与.NET很多地方的绑定概念不同(例如最常见的数据绑定...(WS-Reliable Messaging)实现了信息的可靠传输,WS-Security实现了消息的传输安全,他们都可以被称为协议信道。
WCF 端点 一个WCF服务必须能为不同的通信场景提供不同的访问点,这些访问点称为WCF端点。也就是上面所提到的EndPoint。每个端点都有一个绑定,一个地址和一个契约: ?...(3)契约:一个端点上契约指定通过该端点的用户能访问到WCF服务的什么操作。...WCF服务模型 最后简单的说下WCF的服务模型。 WCF是一个层次架构,该架构的顶层称为服务模型,用于WCF服务的建模。...WCF服务模型提供了3种重要手段对自己的WCF服务进行建模: (1)面向属性编程:WCF服务模型带有一套元数据属性,可以通过属性表示相应的实体,如:属性,接口,类等。...(2)面向配置编程:WCF服务模型带有方便的配置语言,可以通过它在配置文件中进行建模。 (3)常规命令编程:WCF服务模型带有一组方便的托管类,可以使用这些托管类对服务进行建模。
原文地址: http://www.infoq.com/news/2012/02/WCF-4.5 Ido Flatow发表了一些列的博客,来讲述.NET4.5中关于WCF的更新 链接地址: http://...(有时间的话我会陆续翻译) 出于削减复杂性的目的,WCF自动生成的配置文件将会变得非常、非常的小。...自从第一个版本的WCF以来,开发人员发现他们需要维护一个大概有30个配置节的app.config文件,而这些配置节都可以用默认值来代替。...Ido Flatow认为HTTPS 版本是在为主机名做广告而不是访问WSDL的宿主名(host name),这些可能将成为使用web form时的问题。...另一个bug是关于WCF传输流数据的,Ido Flatow: 当你把WCF服务寄宿在IIS上时,即使你没有使用asp.net兼容模式,你也一样会得到asp.net处理管线的一部分。
上一篇中,使用控制台托管了WCF服务,但是如果想从PHP和java平台调用,必须将其托管到IIS中(并不是必须的,还是有其他的方式的 比如windows azure) 1.系统必备 首先,必须打开...2.在IIS中托管WCF服务 在IIS默认网站中添加应用程序emp,并在高级设置中,设置应用程序池为“ASP.NET v4.0”,并设置默认网站右键--编辑版定,在http类型中编辑IP地址和主机名...这里设置的原因是,第一,php平台在局域网中的另外一台机器上,主机名这里的设置,是因为主机名影响wsdl的生成,如果不设置,在wsdl中生成的location包括的是托管机器名而不是ip地址。 ...在新建的虚拟目录对应的实际目录中,添加web.config文件,配置wcf服务和终结点,并打开元数据公开,然而,因为这里不是使用常用的svc文件托管的服务,所以需要serviceActivations节点配置服务...> 开启php服务器,访问页面,出结果: ? 下一章将续写java访问WCF服务的具体操作,可是已经到饭点啦。先做个决定。。。。。
其中包括托管服务和托管管理工具,这些工具使部署、配置和管理基于 Windows Communication Foundation (WCF) 和 Windows Workflow Foundation...AppFabric 可以帮助减轻此负担,它简化了服务部署、提供了可自定义的监控解决方案,还提供了一个功能丰富的管理工具集,所有这些都可以通过 IIS 管理控制台直接进行访问,或使用 Windows PowerShell...随着对应用程序需求的不断提高(例如网站的访问量增加,或者其他组开始使用您的共享服务),昂贵的数据访问通常可能会严重限制应用程序的性能和伸缩性。...缓存服务通过在不同缓存主机上存储缓存数据副本,提供了支持该数据连续可用性的高可用性功能。 当在多服务器群集中启用了高可用性时,即使缓存服务器失败,您的应用程序仍可以检索其缓存数据。...解决方案 AppFabric 托管功能为服务管理提供了一组丰富的 IIS Manager 扩展。 AppFabric 仪表板使您可以洞悉系统的运行状况,而统一的配置用户界面使您可以控制服务配置。
- 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。 - 远程主机强迫关闭了一个现有的连接。...该错误是在使用svcutil生成client代码时报的错误,服务是部署在IIS7上,部署的过程都是完全教科书式的进行。服务也正常启动了,显示如下内容 已创建服务。...xsd=xsd0时的权限不足,在浏览器直接访问这个url会提示找不到页面。原因就是IIS进程的用户没有访问Windows\Temp目录的权限。...具体可参考:http://merill.net/2008/04/wcf-add-service-reference-gotcha-with-windows-server/ WCF服务部署到IIS上,然后通过...web服务引用方式出现错误的解决办法;如果wcf服务没有托管在IIS上,只是在本地浏览方式托管后通过web服务引用方式是没有这样的问题。
WCF的安全体系主要包括三个方面:传输安全(Transfer Security)、授权或者访问控制(Authorization OR Access Control)以及审核(Auditing)。...三、Mixed安全模式 注:由于英文中的Transfer Security和Transport Security都可以翻译成传输安全,以示区别,我用中文的“传输安全”表示涉及到认证、...而NetTcpBinding和NetNamedPipeBinding也提供了对TLS/SSL的支持,一般我们将TLS/SSL在TCP上的应用称为SSL Over TCP。...当客户端和这个HTTPS站点所在的Web服务器进行正式的访问请求之前,在它们之间必须建立了安全的HTTP连接。...关于WCF的Message安全模式的优点,实际上在前面已经有所提及,在这里做一个总结。
Windows10(版本1903)中最有趣的一项功能,就是Windows沙盒了。...Windows沙盒运行后,我们可以直接传输文件,或复制粘贴主机剪贴板的内容。 所有的复制粘贴操作跟直接在主机系统中的复制粘贴操作是一样的,用户不会感觉到任何差异。...为了演示Windows沙盒的使用方式,我访问了一个需要安装Adobe Flash Player的网站。因为我不喜欢在主机上使用这些东西,所以我打算在Windows沙盒中进行测试。...Windows沙盒还可以更好 首先,我个人是非常喜欢Windows沙盒这个功能的,它易于使用,允许用户快速启动和运行Windows 10虚拟机,而且所有权限级别的用户都可以直接访问和使用,这使得我们测试网站或浏览器扩展插件会变得非常容易...另一个问题,由于Windows沙盒可以直接读取主机系统的剪切板内容,如果用户在剪切板中保存了凭证或密码等敏感信息的话,沙盒中运行的任何内容都可以访问到这些数据。
对于WCF来说,如果Client要访问Service,一般情况下交互的只有Client和Service,Soap Message直接从Client到Service。...SOAP的无限扩展的Header在实现此功能上可谓功不可没,原则上任何控制信息都可以放在Soap Header之中,Header的可扩展性也使一系列的WS-* Specification的实现 成为可能...在WCF中通过ClientViaBehavior实现这样的功能,我将在 后面讲到。...为了使大家有一个具体的认识,我给出了Host该Service的configuration: <?xml version="1.0" encoding="utf-8" ?...然后先后运行Service和Client,你将会在tcpTrace上看到他所截获的Request和Response的内容: ? 而且相应的内容被记录到我们指定的Log文件中: ?
无状态 每个发向服务器的请求都应该带有理解完成请求所需的全部信息 可缓存 返回的数据能够缓存以便于用户再其他时间调用,这能够提升性能并且减少网络通信。...HTTP Methods HTTP创造了一种与web上的资源进行通信的标准方式。获取、放置、删除、张贴是访问资源的一些常用方法。 GET 用特定的表示方式请求资源.....NET 4 / REST / WCF WCF并非仅仅能用来否剑SOAP服务,他是一个具有通用编程模型并且完全基于插件的通信基础框架。...WCF运行时的基础工作是监听处理来自网络位置的消息,并将他们传递给应用程序(服务),使用WCF开发REST应用程序是一项简单的任务。...服务的 URI 缓存。 组件可以独立部署。 轻量级 (相对使用 WSDL 使 soap 协议成为复杂服务的 soap)。 简单客户端 缺点 从开发者角度来说主要缺点是没有主数据。
通常间接的办法是,保存镜像,再创建一个新的容器,在创建时指定新的端口映射。 使用主机网络时,-p指定的端口映射将会失效。使用主机网络时不需要进行端口映射。...# 容器内访问/home会链接到主机的/home/lnmp目录 docker run -idt -v /home/lnmp:/home --network host centos:centos7 /bin...换了一台电脑测试,发现挂载到任意位置都可以,具体原因有待深究。...window下启动容器需要映射端口,host模式无法正常使用 4.关于容器 容器运行之后,会产生一个完整的服务器文件目录结构,针对运行的应用的不同,这个容器所带有的功能也不同(主要区别可exec...也就是说,服务中使用的localhost指的是这个Linux环境的地址,而不是我们的宿主环境Windows10。
由于Windows10的Hyper-V导致VmWare无法正常启动的问题及处理 问题现象: 问题原因: 由于Windows 10启用Hyper-V技术后,可以在 Windows 上以虚拟机形式运行多个操作系统...这意味着每个虚拟机都在虚拟硬件上运行。 Hyper-V 允许你创建虚拟硬盘驱动器、虚拟交换机以及许多其他虚拟设备,所有这些都可以添加到虚拟机中。...此外,如果已启用了 Hyper-V,这些易受延迟影响的高精度应用程序在主机中运行时可能也会出问题。...但是,与来宾操作系统不同,主机操作系统在这点上很特殊,它是直接访问所有硬件,这意味着具有特殊硬件要求的应用程序仍然可以在主机操作系统中运行,而不会出问题。...总结来说,就是VmWare需要直接访问硬件资源,但是由于Hyper-V的限制,导致VmWare无法直接访问到硬件资源,只能访问到Hyper-V的虚拟化层,影响了VmWare的运行。
领取专属 10元无门槛券
手把手带您无忧上云