首页 > 编程知识 正文

cfa和wcf注册猫舍有啥区别,restful和webservice区别

时间:2023-05-05 02:42:54 阅读:37071 作者:1737

最基本的区别是ASMX或ASP.netweb服务用于通过基于HTTP的SOAP实现通信。 但是,WCF可以使用任何协议(HTTP、TCP/IP、MSMQ、命名pipes等),消息封装可以使用任何格式(默认SOAP )。

有关详细比较,请参见WCFVsASMX

如何理解WCF的服务结束点?

对于WCF服务,Endpoints泄露了调用的方法; 客户端需要知道这些细节才能与服务端进行通信。 各Endpoints是用于通信的入口,客户端和服务器通过Endpoint交换信息。 WCFServiceEndpoint通常包含三个基本元素:

地址:定义了“where”,一组URL标识服务的地址;

绑定:定义“how”并确定服务器如何访问。 例如,消息传输的传输协议(例如TCP、HTTP )、安全性;例如SSL、SOAP消息安全性)。

contract:「what”,即定义服务提供的内容和合同方法,描述消息中包含的内容和消息的组织和操作方法。 例如,one-way、duplex和request/reply。

1我能用那些方法托管wcf服务吗?

要托管wcf服务,必须至少有一个主机进度、服务主机实例和相应的Endpoint配置。 可能的情况如下

2主机程序或自主机[ managed application/self hosting ] :

控制台APP应用

windows APP

windows服务

2.web服务器主机

IIS 6.0 (ASP.netapplicationsupportsonlyhttp )。

windowsprocessactivationservice (was ) i.e.IIS7.0supportsHTTP,TCP,命名pipes,MSMQ。

4 .如何在wcf服务上启用操作过载?

默认情况下,WSDL不支持操作重载,重载行为必须在OperationContract的Name属性中执行。 如下所示。

1:[服务控制]

2:接口模块

3:{

4: [操作约束(name=' sumint ' ) ]

5:Intsum(Intarg1、intarg2);

6:

7: [操作约束(name=' sum double ' ) ]

8:双精度和(双精度arg 1,双精度arg2);

9:}

这些代码最终转换为两种方法: SumInt和SumDouble。

5.WCF有哪些信息交换模式(消息交换模式)?

a .请求/回应模式:

作为默认MEP,此模式在调用服务操作的同时向请求者发送响应消息,并立即返回void类型且为空的SAOP包。

b .单工模式:

在某些情况下,可能需要调用服务执行的某些特定逻辑,但不需要接受反馈。 在这种情况下,必须使用单一模式。 如果需要消息队列,单模是唯一的选择。

c .双重模式:

双模简单来说就是双向的信息通道。 适用于需要发送消息开始长期运行并在运行完成后发送通知的情况。

什么是DataContractSerializer? 还有XmlSerializer的领域是什么?

序列化的过程是将对象实例转换为可移植、可传输的信息格式。 因此,序列化对于任何Web服务来说都是非常重要的步骤。

ss="p0">从.NET3.0开始,WCF增加了基于显示选择模式(opt-in )的DataContractSerializer。而XmlSerializer则是否决模式(opt-out)。前者表示我们需要指定需要序列化的内容,而后者则需要指定不需要序列化的内容。

DataContractSerializer比XmlSerializer通常快约10%,但是对于对象如何被序列化几乎无法控制,所以如果需要干预对象的序列化,最好使用XmlSerializer。

7.怎样在WCF中将MessageConract和DataContract分部使用?

MessageContract必须整个使用或者不适用。如果我们在服务操作(Operation)的签名上使用了MessageContract,那么操作符它就只能作为操作的唯一参数类型和返回值类型。

8.如果要取代已有的ASMX WebService,应该使用哪种标准绑定方式?

basicHttpBinding方式绑定的WCF Service,与ASMX/ASP.NET web service的表现几乎一致。

9.简述WCF中的实例模式?

WCF总是将请求绑定了一个特定的服务实例,因此可能的模式包括:

Per Call:每次调用都创建一个实例,能够有效利用内存,但需要使用特别手段来维护Session。

Per Session:为每个用户的整个会话期建立一个实例。

Single:所有终端和用户共享唯一的会话,内存效率最低。

9.简述WCF中的安全模式?解析传输层和消息层安全的不同。

在WCF中,我们可以在不同的级别上定义安全性配置:

a.传输层安全

传输层安全需要考虑消息在物理链路上的完整性、私密性和认证,它依赖于Binding方式,因为大部分的Binding本身都包含了内置的安全处理。

  1: <netTcpBinding>

  2: <binding name="netTcpTransportBinding">

  3:    <security mode="Transport">

  4:               <Transport clientCredentialType="Windows" />

  5:    </security>

  6: </binding>

  7: </netTcpBinding>

b.消息层安全

消息层安全通常是指消息的加密。

  1: <wsHttpBinding>

  2: <binding name="wsHttpMessageBinding">

  3:   <security mode="Message">

  4:               <Message clientCredentialType="UserName" />

  5:   </security>

  6:  </binding>

  7: </wsHttpBinding>

这种安全性通常依赖于需求,但是我们可以使用一种复合的安全模式,如下:

  1: <basicHttpBinding>

  2: <binding name="basicHttp">

  3:   <security mode="TransportWithMessageCredential">

  4:              <Transport />

  5:                   <Message clientCredentialType="UserName" />

  6:   </security>

  7: </binding>

  8: </basicHttpBinding>

 

原文:http://www.codeproject.com/Articles/426776/WCF-Top-10-Interview-Questions

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。