`

WCF(1)

    博客分类:
  • WCF
 
阅读更多

 

  1. WCF:Windows Communication Fundation (windows 通讯接口).
  2. WCF本质上提供一个跨进程、跨机器以致跨网络的服务调用.
  3. WCF的服务不能孤立地存在,需要寄宿于一个运行着的进程中,我们把承载WCF服务的进程称为宿主,为服务指定宿主的过程称为服务寄宿(Service Hosting)。在我们的计算服务应用中,采用了两种服务寄宿方式:通过自我寄宿(Self-Hosting)的方式创建一个控制台应用作为服务的宿主(寄宿进程为Hosting.exe);通过IIS寄宿方式将服务寄宿于IIS中.
  4. WCF广泛采用基于自定义特性(Custom Attribtue)的声明式编程模式,我们通过在接口上应用System.ServiceModel.ServiceContractAttribute特性将一个接口定义成服务契约。
  5. WCF是一个基于消息的通信框架,采用基于终结点(Endpoint)的通信手段。终结点由地址(Address)、绑定(Binding)和契约(Contract)三要素组成,由于三要素应为首字母分别为ABC,所以就有了易于记忆的公式:Endpoint = ABC。
  6. 每一个ASP.NET Web服务都具有一个.asmx文本文件,客户端通过访问.asmx文件实现对相应Web服务的调用。与之类似,每个WCF服务也具有一个对应的文本文件,其文件扩展名为.svc。
  7. 如果要把服务挂载在iis上记得把Service 的属性的输出路径设置为bin,还有web.config文件的属性设置为copy always。
  8. "The page you are requesting cannot be served because of the extension configuration...." 解决方法:

    i)Run Visual Studio 2008 Command Prompt as “Administrator”.Navigate to ii)C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation.
    iii)Run this command servicemodelreg –i.

  9. HTTP Error 403.14 - Forbidden

    The Web server is configured to not list the contents of this directory.

    Solution - 

    To resolve this problem, follow these steps:

    i) Start IIS Manager. To do this, click Start, click Run, type inetmgr.exe, and then click OK.

    ii) In IIS Manager, expand server name, expand Web sites, and then click the Web site that you want to modify.

    In Features view, double-click Directory Browsing.

    iii) In the Actions pane, click Enable.


  10. the solution of "Unable to automatically debug "***". the remote.........." is that: set the property"debug" of node "compilation" to "true" of web.config file of service. if can't slove the porblem, try to restart the vs.
  11. Message:  Attaching to this process can potentially harm your computer.  If the information below looks suspicious or you are unsure, do not attach to this process.

    The solution for me was just a few steps...

    1. Close all Visual Studio instances.
    2. Ensure that you are a member of the local debuggers group (Control Panel, Administrative Tools, Local Security Policy, Security Settings, Local Poliies, User Rights Assignment, Debug Programs). 
    3. Change the following registry key  HKCU\Software\Microsoft\VisualStudio\10.0\Debugger\DisableAttachSecurityWarning from 0 to 1.
    4. Restart Visual Studio. 
  12. 在WCF预定义绑定类型中,WSDualHttpBindingNetTcpBinding均提供了对双工通信的支持,但是两者在对双工通信的实现机制上却有本质的区别。WSDualHttpBinding是基于HTTP传输协议的;而HTTP协议本身是基于请求-回复的传输协议,基于HTTP的通道本质上都是单向的。WSDualHttpBinding实际上创建了两个通道,一个用于客户端向服务端的通信,而另一个则用于服务端到客户端的通信,从而间接地提供了双工通信的实现。而NetTcpBinding完全基于支持双工通信的TCP协议。HTTP是应用层协议,TCP是传输层协议!数据包在网络传输过程中,HTTP被封装在TCP包内!是TCP协议族中的一种。使用TCP80端口
  13. Socket,Remoting(TCP,HTTP),WebService(HTTP),WCF(HTTP,TCP,PIPE)
  14. wcf 服务可以挂载在console application, windows application, windows service, IIS.
  15. wcf的优势:统一性(是对webservice,remoting,socket等技术的整合),安全性,互操作性(wcf最基本的通信机制是soap的,可以跨平台,跨机器,跨进程),兼容性(兼容旧的webservice和remoting等技术的应用程序)
  16. 我们可以把WCF看成是一个完全处理XML Message的构架,通常我们使用.NET对象来封装我们的数据。如何使我们创造的对象能够有效地转化成结构化的XML,就是通过序列化—Serialization。Serialization可以看成是把包含相同内容的数据从一种结构 (.NET Object) 转换成另一种结构(xml),在WCF中的Serialization可以看成是Serializer(序列化器)通过反射的机制分析对象所对应的Type的原数据,从而提供一种算法实现Managed Type的XSD的转化。
  17. 很多刚刚接触WCF的人往往不能很好地区分Serialization和Encoding。我们的.NET Object通过Serialization转化成XML Infoset。但是要使我们的数据能够通过网络协议在网络上传递,必须把生成的XML Infoset转化成字节流(Byte Stream)。所以Encoding关注的是XML Infoset到字节流(Byte Stream)这一段转化的过程。在WCF中,有3中不同的方式可供选择:Binary;Text和MTOM(Message Transmit Optimized Mechanism)消息传输优化机制。Binary具有最好的Performance,Text具有最好的互操作性,MTOM则有利于大量数据的传送。

    我们可以这样来理解Serialization和Encoding,Sterilization是基于Service Contract的——而实际上它也是定义在Service Contract中,是放在我们的Code中;而Encoding一般由Binding提供,它是和Service无关的,我们一般在Configuration中根据实际的需要选择我们合适的Encoding。WCF把Serialization和Encoding相互分离是有好处的,Serialization手部署环境的影响相对不大,具有相对的通用性,而Encoding则关系到访问Service的性能以及互操作性等方面,和部署环境紧密相关。比如对于一个在一个Intranet内部使用的系统,往往处于提高Performance考虑,我们一般是使用TCP Transport结合Binary 的Encoding,可能在某一天出现的来自于Internet的潜在的调用,我们不得不改用Http作为Transport,并使用Text Encoding。由于Encoding是可配置的,所以在这种情况下,我们只需要改变Configuration文件就可以了。

  18. Wcf 中用到wshttpbinding和basichttpbinding的区别是:basichttpbinding发送的数据是不加密的,明文的;而wshttpbinding发送的时加密的数据;
  19. 1
  20. 1
  21. 1
  22. 1
  23. 1
  24. 1
  25. 1
  26. 1
  27. 1
  28. 1
  29. 1
  30. 1
  31. 1
  32. 1
  33. 11
  34. 1
  35. 1
  36. 1
  37. 1
  38. 1
  39. 1
  40. 1
  41. 1
分享到:
评论

相关推荐

    ClassLibrary1wcf1

    标题“ClassLibrary1wcf1”暗示我们正在讨论一个与Windows Communication Foundation(WCF)相关的类库项目。WCF是微软.NET框架的一部分,用于构建高度可配置、安全的服务,允许跨进程甚至跨网络进行通信。这个类库...

    wcf.rar_chatroom wcf_it_wcf

    1. **wcf1学习之基本概念.doc**:这份文档可能会介绍WCF的基本概念,如服务、客户端、服务契约、数据契约、绑定、终结点等,这些都是理解和使用WCF的基础。 2. **wcf9学习之端点绑定.doc**:端点是服务对外暴露的...

    WCF 原理,讲述及其示例

    而"wcf1.zip"可能是一个包含示例代码或者额外配置文件的压缩包,帮助理解并实践WCF服务的开发和部署。 总的来说,理解和掌握WCF原理对于开发分布式系统和企业级应用至关重要。通过IIS宿主,开发者可以利用IIS的管理...

    wcf服务 winform宿主 客户端请求wcf 示例

    在WCF服务中,你需要定义一个服务接口(IService1),并在接口中声明你要提供的操作(方法)。然后,实现这个接口的类(Service1),这将是服务的实际工作部分。服务配置通常在`app.config`文件中进行,定义服务的...

    WCFService可以通过web调用和WCF服务访问

    1. **Web调用**:WCF服务可以通过HTTP协议暴露为Web服务,允许任何支持SOAP协议的客户端进行调用,包括Java应用程序。这种模式通常称为WSHttpBinding,它使用SOAP消息在HTTP上进行通信。为了使WCF服务支持Web调用,...

    WCF端口测试工具,可对开发的wcf项目进行测试!

    1. **测试工具的可执行文件**:这是可以直接运行的测试工具,用于与WCF服务进行交互。 2. **源码文件**:可能包含C#源代码,开发者可以查看和学习如何实现测试逻辑和功能。 3. **文档或说明**:可能有工具的使用指南...

    wcf 代理 wcf开发示例

    <add baseAddress="http://localhost:8732/Design_Time_Addresses/WcfService1/Service1/" /> <endpoint address="" binding="basicHttpBinding" contract="WcfService1.IService1" /> ``` 3. 客户端...

    金旭亮WCF课程系列之WCF概述

    1. **契约(Contract)**:定义了服务端与客户端之间的通信协议,规定了数据交换的格式和方法签名。 2. **服务对象**:负责实现契约中定义的方法,当客户端调用服务时,会创建服务对象并执行相应的方法。 #### 实现...

    WCF

    Windows Communication Foundation(WCF)是微软.NET Framework中的一个核心组件,用于构建分布式应用程序。它提供了一种统一的方式,用于创建、部署和管理跨进程、跨网络的服务。WCF集成了多种通信技术,如Web服务...

    Developing Service-Oriented Applications with WCF.pdf

    1. **安全性**:WCF 支持多种安全机制,包括消息级别的加密、身份验证和授权。 2. **可靠性**:WCF 提供了一套完整的机制来确保消息在传输过程中不会丢失,并能处理各种故障恢复情况。 3. **事务处理**:支持事务...

    winform里直接使用WCF例子

    在.NET框架中,Windows Forms(Winform)是用于构建桌面应用程序的用户界面,而WCF(Windows Communication Foundation)是微软提供的一个全面的面向服务的架构,用于构建、配置和部署分布式应用程序。本示例将详细...

    WCF入门教材 C#

    1. **服务** - WCF服务是提供功能给其他应用程序使用的组件。它定义了接口和实现,通过合同(Service Contract)来指定服务提供的操作。 2. **终结点** - 服务通过终结点与外界交互,每个终结点包含地址、绑定和...

    《WCF按部就班学习系列1_WCF基础知识概述》

    在“WCF按部就班学习系列1”中,我们将深入探讨WCF的基础知识,包括服务契约、宿主定义等关键概念。 **服务契约** 服务契约是WCF中的核心概念,它定义了服务提供的操作及其交互方式。服务契约通过接口(Interface...

    构建WCF面向服务的应用程序系列课程(1):WCF概要 (Level 100)

    课程简介:Windows Communication Foundation (WCF)是微软公司为构建面向服务的应用程序(SOA)所提供的消息平台。该平台随着Windows Vista操作系统,并且作为.NET Framework 3.0的一部分发布。WCF统一了组件与服务...

    WCF简单的应用

    1. **WCFServiceLibrary**: 这是服务的核心,包含了定义服务接口和服务实现的代码。服务接口定义了可供客户端调用的操作,通常以`.svc`文件的形式暴露。服务实现则包含具体的业务逻辑,实现了接口中声明的方法。...

    WCF客户端测试工具,亲测可用

    WCF客户端测试工具,如标题所提及,是一个非常实用的工具,用于验证和调试WCF服务,确保其能够正确地与客户端进行通信。 在开发过程中,确保WCF服务的可用性和功能完整性至关重要。这个测试工具允许开发者直接从...

    VB6中访问WCF 示例代码

    1. **Soap Toolkit 3.0**:这个工具是微软提供的一种方法,允许老版本的Visual Basic应用程序(如VB6)与Web服务进行交互。Soap Toolkit 3.0是一个插件,它将WSDL(Web服务描述语言)转换为可以被VB6理解的类型库。 ...

    C#调用WCFService示例

    1. **新建项目**:在Visual Studio中,选择“新建项目”,然后选择“WCF库”模板。 2. **定义服务接口**:在新建的项目中,创建一个接口类(如IService1.cs),并定义服务操作方法。 3. **实现服务接口**:创建一个...

Global site tag (gtag.js) - Google Analytics