二、ASP.NET并行(Side by Side)模式 对于基于IIS服务寄宿,System.ServiceModel.Activation.HttpModule将基于.svc的请求劫持并分发给WCF的服务模型...你完全可以用一个映射到某个IIS虚拟目录的ASP.NET Website同时作为asmx Web Service和.svc WCF Service的宿主。...在这种情况下,ASP.NET .aspx Page、.asmx Web Service和WCF service运行在同一个AppDomain中。...但是HttpRuntime对于.aspx Page和.asmx Web Service的处理机制并不会应用于对.svc WCF Service请求。...这主要是因为WCF和.asmx Web Service有本质的区别:Web Service总是采用IIS寄宿,并使用HTTP作为传输,而WCF则具有不同的寄宿方式,对于传输协议的选择也没有限制。
WCF比较了四种常用的分布式技术 ASP.NET Web Services (ASMX) Web Services Enhancements (WSE) .NET Enterprise Services...(ES) .NET Remoting ASMX--比传统的ASP.NET WebServices 快 25%-50% .NET Remoting--比.NET Remoting 大约快 25%...WSE--针对WSE 2.0/3.0 的实现,如果迁移到WFC将获得最大4倍的性能提升 ES--对于ES .NET Enterprise Service的情况,稍稍有些不稳定,因为一个场景中WCF快了100%...该文档包含对每个应用程序支持的各种配置进行的基准校验比较,其中包括 Web 服务性能、消息发送性能以及更多性能。该文档还包含所有优化参数和基准校验检测的详细信息,客户可利用它们自己做同样的测试。...测试结果可看这两篇blog: WCF vs. Remoting (with DataSet)- performance comparison.
Asp.Net Web 服务(ASMX) 这种技术用于与基于J2EE的现有预定应用程序,以及与Internet上的合作伙伴应用程序进行通信。...WSE(ASMX的加强版) 可与ASMX一起使用,以便与基于J2EE的预定应用程序以及合作伙伴应用程序进行通信,它实现了最新定义的一些Web服务协议(统称WS_*规范),因此只要相关所有应用程序都支持这些新规范的兼容版本...那么如果使用WCF: WCF可使用Web服务进行通信,因此与同样支持SOAP的其他平台(例如基于J2EE的主流应用程序服务器)建的胡曹祖行就变得简单明了。 ...WCF将Web服务的概念直接映射到.Net Framework公共语言运行库(CLR)中的对应内容,包括将消息灵活且可扩展地映射到用诸如Visual C#或Visual Basic等语言实现的服务。...该服务模型提供支持松散耦合和版本管理的序列化功能,并提供与注入消息队列(MSMQ)、COM+、Asp.Net Web服务、Web服务增强版(WSE)等现有.NET FrameWork分布式系统技术以及很多其他功能的集成和互操作性
自从ms推出wcf以后,几乎没在web项目中用过webservice了,基本上都是以wcf host在iis中替代的。...今天利用公司以前的web框架做一个新项目,里面大量使用了asmx,在开发过程中遇到了二个很少见的问题,记录如此,可能会帮助到遇到类似问题的同学们: 一、在WebService中避免用DataTable做为参数类型...Service to be called from script, using ASP.NET AJAX, uncomment the following line. // [System.Web.Script.Services.ScriptService...将DataTable换成DataSet类型后解决,以前只知道DataTable在做为参数类型在WebService中可能会遇到无法正常序列化的问题,但是今天遇到的问题还是第一回。...后记:如果把WebService(.asmx),换成WCF(.svc)后,居然这个问题就不存在了!又给"强烈推荐用WCF替换WebService"找到了一个借口。
今天看到WCF,说是整合了Net remoting,Web service。。。下面列一下概念。...一 WCF 概括地说,WCF具有如下的优势: 1、统一性 前面已经叙述,WCF是对于ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技术的整合...4、兼容性 WCF充分的考虑到了与旧有系统的兼容性。安装WCF并不会影响原有的技术如ASMX和.Net Remoting。...即使对于WCF和ASMX而言,虽然两者都使用了SOAP,但基于WCF开发的应用程序,仍然可以直接与ASMX进行交互。...传输协议和主机进程 尽管 SOAP 规范并不要求用 HTTP 作为传输协议,但是客户端只能通过 HTTP 访问使用 ASP.NET Web 服务实现的 Web 服务,因为它是 ASP.NET 支持的唯一一种传输协议
什么是WCF Windows Communication Foundation (WCF) 是一个框架,用于生成面向服务的应用程序。...它取代了较旧的进程间通信技术,例如 ASMX Web 服务、.NET 远程处理、企业服务 (DCOM) 和 MSMQ。...WCF 将所有这些技术的功能汇集在一个统一的编程模型下,简化了开发分散式应用程序的体验。 使用 WCF,可以将数据作为异步消息从一个服务终结点发送到另一个服务终结点。...简单消息可以是作为 XML 发送的单个字符或单个单词,复杂消息可以是二进制数据流。...WCF 测试客户端 窗体随即出现并加载服务。 在“WCF 测试客户端”窗体中,双击 IService1 下的 GetData() 方法。 此时会显示 "工作" 选项卡。
此环境适合开发可通过WCF支持的任何网络协议(HTTP 、net.tcp、net.pipe和net.msmq)进行通信的WCF服务 --IIS承载的好处 -可像处理任何其他任何类型的IIS应用程序...(包括ASP.NET应用程序和ASMX)一样,部署和管理IIS中承载的WCF服务。 ...-像ASP.NET一样,ASP.NET中承载的WCF服务可以利用ASP.NET共享宿主模型。在次模型中,多个应用程序驻留在一个公共辅助进程中以提高服务器密度和可伸缩性。 ...将Iservice1.cs和Service1.svc 以及Service1.cs三个文件中的代码合并为一个文件中Service.svc C#" Debug...添加好之后,将刚刚的两个文件web.confg和service.svc复制到下面 ? ? 打开目录浏览,然后右击启用,现在就可以浏览服务了。 ? 现在就可以证明服务发布成功了。
Microsoft 的模式和做法 (p&p) 团队最近发布了一些新的软件工厂,包括 Web 服务软件工厂(有时也称为“服务工厂”),该软件工厂旨在帮助开发人员构建始终遵循知名体系结构和设计模式的...Web 服务解决方案。...服务工厂有两种:一种用于 ASP.NET Web 服务 (ASMX),另一种用于 Windows® Communication Foundation(将随 .NET Framework 3.0 提供)。...例如,ASMX 版本会安装两个指导包,一个用于 ASMX 任务,另一个用于数据访问任务。...Web 服务软件工厂 WCF 的服务工厂 Host WCF Service and ASP.NET Application on Same Virtual Directory Exploring Windows
如果我们请求的是一个基于ASP.NET的资源类型,比如:.aspx Web Page、 .asmx Web Service或者.svc WCF Service等,Aspnet_isapi.dll会被加载...HTTP.SYS运行在Windows的内核模式(Kernel Mode)下,作为驱动程序而存在。...将ASP.NET提供的一些强大的功能应用到原来难以企及的地方,比如将ASP.NET的URL重写功能置于身份验证之前; 采用相同的方式去实现、配置、检测和支持一些服务器特性(Feature),比如Module...图7 ASP.NET 处理管道 HttpApplication HttpApplication是整个ASP.NET基础架构的核心,它负责处理分发给它的HTTP请求。...对于不同资源类型的请求,ASP.NET会加载不同的Handler来处理,也就是说.aspx page与.asmx web service对应的Handler是不同的。
在写作《WCF深入剖析》中,为了剖析基于IIS的WCF服务寄宿(Hosting),再次对相关内容进行了研究,在这里一并与大家分享。...如果我们请求的是一个基于ASP.NET的资源类型,比如:.aspx Web Page、 .asmx Web Service或者.svc WCF Service等,Aspnet_isapi.dll会被加载...将ASP.NET提供的一些强大的功能应用到原来难以企及的地方,比如将ASP.NET的URL重写功能置于身份验证之前; 采用相同的方式去实现、配置、检测和支持一些服务器特性(Feature),比如Module...图7 ASP.NET 处理管道 HttpApplication HttpApplication是整个ASP.NET基础架构的核心,它负责处理分发给它的HTTP请求。...对于不同资源类型的请求,ASP.NET会加载不同的Handler来处理,也就是说.aspx page与.asmx web service对应的Handler是不同的。
在最近发布的Visual Studio 2012及.NET 4.5中, 微软正式推出新的网络服务框架ASP.NET Web API。...作为ASP.NET MVC 4的一部分,ASP.NET Web API这套开源框架的设计目的是简化RESTful服务的开发和使用。...ASP.NET Web API 与之前的内建HTTP服务解决方案的不同之处在于,它一开始就是围绕HTTP协议及其消息语义构建起来的。...与WCF REST或ASP.NET AJAX加ASMX相比,它不是对现有框架的增强,而是一个全新的平台。...我们完全也可以这样搭配,在内部通讯采用WCF + Protobuf-NET,参看《WCF服务上应用protobuf》,对外的服务采用ASP.NET WEB API。
WCF的3个关键设计理念是互操作性、生产力和面向服务的开发。 微软提供了若干个可以轻易添加和删除的消息层通道和服务模型层行为。...WCF可以和现有的投资互操作,并结合和扩展现存的微软分布式系统技术,如:Enterprise Services、System.Messaging、Microsoft .NET Remoting、ASMX...最后,从生产力来看,使用WCF来开发安全的事务性网络服务,你将获得生产力在级别上的显著提高。...想想看,要实现类似WCF的功能你需要开发、生成和维护上万行代码,而现在WCF却已经作为基础框架的一部分提供给你了。WCF已经为你提供了一个首要的核心编程框架,以应付逐步增长的面向服务的开发。...一个设计师可以使用Expression产品线和XAML来创建视图,而开发人员可以使用Visual Studio和VB.NET或C#来编写代码。
不同的绑定能够支持的wcf服务功能也不同。作为入门教程,这里主要介绍下有哪些常见的系统的绑定,以及其支持的功能和适用场景。...BasicHttpBinding:适用于与符合 WS-Basic Profile 的 Web 服务(例如基于 ASP.NET Web 服务 (ASMX) 的服务)进行的通信。...此绑定使用 HTTP 作为传输协议,并使用文本/XML 作为默认的消息编码。...WSHttpBinding:一个安全且可互操作的绑定,适合于非双工服务约定,支持会话,可靠会话 NetNamedPipeBinding:一个安全、可靠且经过优化的绑定,适用于 WCF 应用程序之间本机的通信...小结 我们研究了绑定,其特点有 可以配置WCF服务可以实现的功能 参考链接: Windows Communication Foundation 绑定概述 - Microsoft Docs 2019-2-
WCF系统内置绑定列表 绑定 配置元素 说明 传输协议 编码格式 BasicHttpBinding 一个绑定,适用于与符合 WS-Basic Profile的Web...服务(例如基于 ASP.NET Web 服务(ASMX)的服务)进行的通信。...此绑定使用HTTP作为传输协议,并使用文本/XML作为默认的消息编码 HTTP/HTTPS Text,MTOM WSHttpBinding 一个安全且可互操作的绑定,适合于非双工服务约定...应用程序之间跨计算机的通信 TCP Binary NetNamedPipeBinding 一个安全,可靠且经过优化的绑定,适用于WCF应用程序之间跨计算机的通信...IPC Binary MsmqIntegrationBinding 一个绑定,适用于WCF应用程序和现有消息队列(也称为MSMQ)应用程序之间跨计算机的通信
(二).WCF的引入 笔者:相对于传统的三层架构,WCF相当于在最终[客户]表现层与业务逻辑层中插入了一个服务层 使用Web服务的每一种主要语言或平台都把与自身相关的特性集合在一个名字下,Java...WCF曾被称为Indigo,实际上不只是一个Web服务项目,它的目的是要把所有的分布式系统技术提供一种保护伞,其核心是一套面向服务的API。 ...比如,ASP.NET Web Services(ASMX)提供了通过Web服务开发应用程序接口的最简单的形式,而.NET Remoting则是使.NET和.NET应用程序交互的核心。 ...在使用WCF时,你不仅只需要懂得一种方法就足以把很多应用作为服务暴露出来,而且你还可以用同样的方法来对付当前技术本身的底层细节。 ...用WCF服务使能化应用程序的真正概念并非与那些用来运行Web服务的概念不同。
它是 ASP.NET 平台的核心部分。能被MVC或者其他类型的web应用使用。同时它也可以用作独立的web服务应用程序。...WCF 基于SOAP协议,返回xml数据格式 它是web service(ASMX)的演化版。支持TCP, HTTP, HTTPS, Named Pipes, MSMQ。...WCF Rest 将WCF 作为 WCF Rest 服务使用,您必须启用 webHttpBindings....如果您希望将服务公开给广泛的客户端(包括浏览器, 手机,iphone和平板电脑),选择WEB API。 Q8. ASP.NET MVC 与 ASP.NET WEB API之间的区别是? Ans....因此WEB API也可以 与ASP.NET一起使用以及作为独立的服务层。
此工具可从网络位置上当前解决方案的 Web 服务中,或从 WSDL 文件中检索元数据。 还可生成与 .NET 兼容的源文件并使用可用于访问 Web 服务操作的方法定义 WCF 代理类。...WCF dotnet-svcutil 工具 WCF dotnet-svcutil 工具是一个 .NET 工具,可从网络位置上的 Web 服务中或从 WSDL 文件中检索元数据。...还可生成与 .NET 兼容的源文件并使用可用于访问 Web 服务操作的方法定义 WCF 代理类。...dotnet-svcutil 工具作为一种 .NET 工具,可用于 Linux、macOS 和 Windows。...它为客户端应用程序中 WCF 服务协定使用且可由 XmlSerializer 序列化的类型预生成 C# 序列化代码。 当序列化或反序列化这些类型的对象时,这会提高 XML 序列化的启动性能。
Web服务路由规范(WS-Routing)定义了路由SOAP消息的机制。SOAP是一个轻量级的有线传输协议,定义了一系列传输交换机制,用来传输在应用层协议上使用的方法调用。...WS-Addressing(WS-寻址): 为了改进WS-Routing ,WS-Addressing 为 Web 服务寻址提供了传输中立的机制。...我们现在来了解一下WCF如何调用一个特定的服务方法的。这也是WCF路由服务涉及到的重要内容。 我们知道,在客户端,我们可以通过代理类来调用一个服务的方法。...WCF调度程序避开了这种联网细节,而是关注将传入消息映射到一个端点,并最终到达方法调用。 那么WCF根据什么来实现消息的匹配的呢?这里就要介绍一个重要的概念:消息过滤器。...WCF类型系统定义了6个消息过滤器类型以满足不同的需求,它们是: XPathMessageFilter 使用 XPath 1.0 表达式来指定匹配的条件,它是实现基于内容路由的核心消息过滤器。
WCF Web 服务引用工具是 Visual Studio 连接服务的扩展,提供了类似于 .NET Core 和 ASP.NET Core 项目的“添加服务引用”功能的体验 。...系统必备 Visual Studio 2017 版本 15.5 或更高版本 如何使用扩展 备注 “WCF Web 服务引用”选项适用于使用以下项目模板创建的项目 : Visual C# > .NET...Core Visual C# > .NET Standard Visual C# > Web > ASP.NET Core Web 应用程序 以“ASP.NET Core Web 应用程序”项目模板为例...,本文将介绍如何向该项目中添加 WCF 服务引用 : 在解决方案资源管理器中,双击项目的“连接的服务”节点(对于 .NET Core 或 .NET Standard 项目,当在解决方案资源管理器中右键单击项目的...此操作将显示“配置 WCF Web 服务引用”向导 : 选择服务。 3a.
领取专属 10元无门槛券
手把手带您无忧上云