WCF面试精典题汇总

1.WCF接口中的参数改名问题

在写WCF Web Service接口的时候,如果你对接口的参数名做改动的时候,一定要记住Update所有应用该Web service的客户端的Referrence,否则传入的变量就会变成默认值,这是因为WCF中将参数名也作为契约的一部分。

如果想要重构但是不想改动客户端代码的话,那么你可以给参数加上一个MessageParameter的属性,代码如下:

String GetAccountName([MessageParameter(Name="account")]int accountKey)

这样你契约中使用的参数名还是account,但是你在服务端使用的名称已经变更为accountKey了。

2.async/await 

3.同步/异步

Task.Wait、Task.WhenAll

4.开启新的线程的方法

new Thread、Task.Factory.StartNew()、Task.Run()

5.线程之间的数据同享

6.线程安全 (锁lock,信号量Semaphore)

7.其他线程的异常,主线程可以捕获到么。0C#基础

(1)值类型与引用类型

http://www.cnblogs.com/anding/p/5229756.html

值类型可以不使用new进行初始化,但是要使用前要显式为每个字段赋值。

(2)String和字符串操作

http://www.cnblogs.com/anding/p/5240313.html

string类型是按值会传参的,这个要特别注意。

(4)类型、方法和继承

http://www.cnblogs.com/anding/p/5248973.html

恒定性,驻留性

8.装箱/拆箱

http://www.cnblogs.com/anding/p/5236739.html

9.委托

http://www.cnblogs.com/jackson0714/p/5111347.html

10.需要整理的笔记

[C#]走进异步编程的世界-剖析异常方法(下)

 

转载于:https://www.cnblogs.com/JustYong/p/5520405.html

### WCF常见面试及解答 #### 1. WCF是什么?它的主要特点是什么? Windows Communication Foundation(WCF)是微软提供的一种统一的编程框架,用于构建面向服务的应用程序。WCF的主要特点包括: - **服务导向**:支持构建基于服务的应用程序,允许跨平台通信。 - **统一性**:将多种通信技术(如Web服务、消息队列、远程处理等)整合到一个框架中。 - **安全性**:支持多种安全机制,包括传输安全性和消息安全性。 - **可靠性**:支持可靠的消息传递。 - **互操作性**:支持与非WCF服务的互操作性,尤其是基于SOAP的Web服务。 #### 2. WCF服务的宿主有哪些? WCF服务可以托管在多种环境中,包括: - **IIS(Internet Information Services)**:适合Web服务,利用IIS管理服务生命周期。 - **Windows服务**:适用于需要长时间运行的服务。 - **控制台应用程序或Windows窗体应用程序**:适用于测试或调试环境。 - **WAS(Windows Activation Service)**:支持非HTTP协议的激活。 #### 3. WCF的绑定类型有哪些? 绑定定义了服务与客户端之间通信的协议和方式。WCF支持多种绑定类型,常见的包括: - **BasicHttpBinding**:用于与传统的Web服务兼容。 - **WsHttpBinding**:支持更高级的功能,如事务和安全性。 - **NetTcpBinding**:用于跨网络的TCP通信。 - **NetNamedPipeBinding**:用于同一台机器上的进程间通信。 - **MsmqIntegrationBinding**:用于与MSMQ集成。 #### 4. WCF的契约类型有哪些? 契约定义了服务的接口和数据结构,主要包括: - **服务契约(Service Contract)**:定义服务的操作。 - **数据契约(Data Contract)**:定义服务使用的数据结构。 - **消息契约(Message Contract)**:定义消息的格式。 - **错误契约(Fault Contract)**:定义服务可能抛出的错误。 #### 5. WCF中的实例上下文模式是什么? 实例上下文模式定义了服务实例的生命周期。常见的模式包括: - **PerCall**:每次调用都创建一个新的服务实例。 - **PerSession**:每个会话创建一个服务实例。 - **Single**:整个应用程序中使用一个服务实例。 #### 6. WCF中的异常处理机制是什么? WCF支持通过`FaultException`来处理服务端的异常。服务端可以抛出`FaultException`,客户端可以通过捕获该异常来处理错误。此外,还可以通过`FaultContract`定义服务可能抛出的错误。 #### 7. WCF中的安全性是如何实现的? WCF支持多种安全机制,包括: - **传输安全性**:通过SSL/TLS等协议保护数据传输。 - **消息安全性**:通过加密和签名保护消息内容。 - **身份验证**:支持多种身份验证机制,如Windows身份验证、用户名/密码验证等。 - **授权**:支持基于角色的访问控制。 #### 8. WCF中的事务管理是如何实现的? WCF支持通过`TransactionScope`来管理事务。服务操作可以通过`[OperationBehavior(TransactionScopeRequired = true)]`属性来启用事务。客户端可以通过`TransactionScope`来参与事务。 #### 9. WCF中的消息模式有哪些? WCF支持多种消息模式,包括: - **请求-响应模式**:客户端发送请求,服务端返回响应。 - **单向模式**:客户端发送请求,但不需要等待响应。 - **双工模式**:客户端和服务端可以双向通信。 #### 10. WCF中的端点是什么?它的组成是什么? 端点是WCF服务的入口点,由以下三部分组成: - **地址(Address)**:定义服务的位置。 - **绑定(Binding)**:定义通信的协议和方式。 - **契约(Contract)**:定义服务的接口。 ```csharp // 示例:定义WCF服务端点 [ServiceContract] public interface IMyService { [OperationContract] string GetData(int value); } public class MyService : IMyService { public string GetData(int value) { return string.Format("You entered: {0}", value); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值