版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WCF面试题及详细答案(实战完整版)一、基础概念类(初级必问)1、什么是WCF?它的核心作用是什么?WCF是WindowsCommunicationFoundation,是.NET平台下统一的分布式通信框架。在WCF出现之前,.NET通信技术很零散,WebService、.NETRemoting、MSMQ、Socket各自独立、语法不统一、无法通用。WCF把所有分布式通信技术整合为一套统一的编程模型,不管是HTTP、TCP、管道、消息队列传输,都可以用同一套代码规范实现。核心作用:统一分布式通信、支持多种传输协议、支持安全加密、可靠传输、事务处理,实现跨平台、跨进程、跨机器通信。2、WCF和WebService的核心区别?这是面试高频对比题,核心差异集中在功能和扩展性:协议支持:WebService仅支持HTTP协议;WCF支持HTTP、TCP、IPC、MSMQ等多种协议。功能特性:WebService只有简单的接口调用;WCF支持安全认证、可靠会话、事务、限流、断点续传等企业级特性。托管模式:WebService只能寄宿在IIS;WCF支持IIS、控制台、Windows服务、WAS多种寄宿方式。通用性:WebService跨平台但功能单一;WCF兼顾跨平台和高性能,内网通信优先TCP,外网优先HTTP。3、WCF的四大核心要素是什么?面试核心考点,简称「地址、绑定、契约、行为」:地址(Address):服务的访问地址,定义服务在哪,如http://xxx、net.tcp://xxx。绑定(Binding):定义服务怎么通信,包含传输协议、编码格式、安全模式、超时时间等。契约(Contract):定义服务能做什么,包含服务契约、数据契约、消息契约、错误契约。行为(Behavior):定义服务运行时的附加配置,如实例模式、并发模式、权限验证、日志记录。4、简单说下WCF的运行原理?WCF整体分为服务端和客户端,流程非常清晰:服务端:定义服务契约并实现接口->配置地址、绑定、行为->开启服务宿主,监听客户端请求。客户端:根据服务地址生成代理类->通过代理类封装请求消息->按照绑定规则序列化消息、发送请求。通信过程:客户端消息经过编码器、通道栈处理->服务端接收消息、反序列化->执行对应方法->封装返回结果原路返回。二、契约与绑定核心考点(中级高频)5、WCF有哪几种契约?各自作用?服务契约[ServiceContract]:标记接口或类,定义服务对外暴露的方法,是服务的核心入口,搭配[OperationContract]标记具体可调用方法。数据契约[DataContract]:标记自定义实体类,定义服务传输的数据结构,[DataMember]标记需要序列化的字段,控制哪些数据可以跨服务传输。消息契约[MessageContract]:自定义请求和响应消息的结构,精细控制消息头、消息体,多用于对接第三方特殊接口。错误契约[FaultContract]:自定义服务异常信息,将服务端异常封装为标准化错误消息,避免直接暴露服务器原始异常,保证客户端友好捕获异常。6、常用的WCF绑定类型有哪些?各自适用场景?工作中最常用4种,面试重点记场景:BasicHttpBinding:最基础的HTTP绑定,兼容传统WebService,无安全、无会话,适合外网简单公开接口。WSHttpBinding:增强版HTTP绑定,支持安全认证、会话、事务,适合外网企业级接口,是外网最常用绑定。NetTcpBinding:基于TCP协议的绑定,速度快、性能高、支持安全和会话,内网服务通信首选。NetNamedPipeBinding:基于管道的绑定,仅支持本机进程间通信,速度最快,适合同一服务器上不同程序交互。7、BasicHttpBinding和WSHttpBinding的核心区别?BasicHttp遵循WS-I基础规范,无安全、无可靠会话、无事务,兼容所有平台。WSHttp支持WS高级规范,默认开启安全认证、支持会话、事务、可靠传输,功能更强但兼容性略低。使用场景:简单对外接口用BasicHttp,企业级安全接口用WSHttp。三、实例模式与并发模式(中高级必考)8、WCF三种实例模式及区别?使用场景?实例模式控制服务对象的创建和销毁,是面试重难点:PerCall(每次调用):默认模式。客户端每调用一次方法,服务端就新建一个服务实例,调用结束立即销毁。优点:线程安全、无并发冲突;缺点:频繁创建销毁,性能略低。适合无状态接口。PerSession(每次会话):同一个客户端连接会话,共用一个服务实例,会话超时或断开后销毁。可以保留会话状态,适合需要记录客户端状态的业务。Single(单例):全局只有一个服务实例,所有客户端共享。性能最高,但存在严重并发竞争问题,必须手动处理线程锁。适合全局配置、缓存、监控类服务。9、WCF三种并发模式是什么?配合实例模式使用,控制单个服务实例的处理请求方式:Single:单线程处理,同一时间只处理一个请求,请求排队,无并发,效率最低。Multiple:多线程并发处理,同一实例可同时处理多个请求,性能高,需要自行处理线程安全。Reentrant:可重入模式,支持服务回调自身场景,日常开发极少使用。实战搭配:PerCall+Multiple是最安全、最常用的组合。四、寄宿方式与配置问题(实战高频)10、WCF有哪些寄宿方式?各自优缺点?IIS寄宿:部署简单、无需手动启动、自带进程回收,适合外网接口;缺点是依赖IIS,内网高性能场景不适用。控制台寄宿:开发调试方便、启动灵活,适合本地测试;不适合生产长期运行。Windows服务寄宿:生产环境首选,开机自启、后台常驻、稳定性高,适合内网核心服务。WAS寄宿:Windows激活服务,支持多种协议,适合大型服务器集群部署。11、WCF动态代理和静态代理的区别?静态代理:通过vs自动生成服务引用,提前生成代理类。优点:编码简单、稳定;缺点:服务接口更新后,需要手动更新服务引用。动态代理:通过ChannelFactory动态创建通道,无需生成代理类。优点:灵活,接口变更无需改客户端代码;缺点:需要手动配置绑定和地址,编码稍复杂,生产环境更常用。五、安全、事务、异常处理(进阶面试题)12、WCF如何做身份认证?常用认证方式?企业项目常用三种认证方式:Windows身份认证:基于系统账号,适合内网域环境,无需额外开发。用户名密码认证:自定义账号密码校验,外网接口最常用,客户端传递账号密码,服务端校验授权。证书认证:基于SSL证书,安全性最高,适合金融、支付等敏感业务。13、WCF事务支持吗?使用注意事项?WCF完整支持分布式事务,通过[TransactionFlow]特性开启。核心注意点:必须使用支持事务的绑定(WSHttp、NetTcp),BasicHttp不支持事务。服务方法必须开启事务流转,且数据库、业务操作需要纳入事务范围。事务超时、网络中断都会触发事务回滚,保证数据一致性。14、WCF如何统一异常处理?生产环境绝对不能直接抛出原生异常,会泄露服务器信息,统一处理方式:自定义错误契约实体,封装错误码、错误信息。服务端捕获异常,手动抛出FaultException。通过IErrorHandler全局异常拦截,统一日志记录和异常封装。六、性能与实战踩坑题(高阶面试)15、WCF接口调用超时常见原因及解决方案?日常开发最常见问题,核心原因和解决办法:绑定超时时间过短:修改sendTimeout、receiveTimeout配置,延长超时时间。服务实例阻塞:单例模式下线程阻塞,改用PerCall实例模式。数据库操作过慢:优化SQL、增加缓存,减少接口执行时间。连接池耗尽:未及时关闭客户端通道,导致连接溢出,客户端用完必须Close。16、WCF连接池耗尽问题怎么解决?高频踩坑点:客户端每次调用不释放通道,导致最大连接数占满,后续请求报错。解决方案:客户端代理类使用using包裹,自动释放资源。手动判断通道状态,异常时强制Abort关闭连接。合理配置绑定的最大连接数、最大消息大小。17、WCF大文件传输报错如何处理?默认配置限制消息大小,传输大文件会报错,修改三处配置即可:修改maxReceivedMessageSize最大接收消息大小。修改readerQuotas读取配额,放宽字符串、字节数组长度限制。开启流式传输模式(Streamed),避免一次性加载全部文件到内存。18、WCF和WebApi、gRPC的简单对比?WCF:老牌企业级框架,功能全面、安全事务完善,适合传统.NET内网大型系统,跨平台弱。WebApi:轻量化HTTP接口,简洁易用、跨平台好,适合前后端分离、外网通用接口,无复杂企业级特性。gRPC:高性能二进制通信,传输速度远超WCF,适合微服务、高并发场景,是目前分布式通信主流方案。七、简答压轴题(面试口述加分项)19、项目中为什么选用WCF而不是WebApi?可以直接口述的标准答案:我项目是内网企业级系统,需要用到安全认证、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年人教版初中三年级物理第7章单元测试卷及答案
- 餐饮业服务人员服务质量标准试题及答案
- 初中语文九年级庄子惠子濠梁之辩与虽有嘉肴教学设计与进阶演练
- 2026大学(园艺)茶树病虫害防治资格考试试题及答案
- 高中物理必修二向心力教学设计
- 高三年级生物高考一轮复习细胞器之间的分工教学设计
- 小学六年级语文班主任开学第一课教学设计:立德树人启新程 扣好人生第一粒扣子
- 三年级德育与法治《规则伴我行-讲规范守纪律》主题班会教学设计
- 小学四年级劳动课剪纸教学设计与实施策略
- 病房消毒制度课件
- 成都市青羊区新华少城社区卫生服务中心康复医师招聘笔试备考试题及答案详解
- 民宿管理2026年委托协议范本
- 2026年污染源自动监测考核试题题库及答案
- 儿童过敏性鼻炎课件
- 肠外营养护理课件
- 贵州措施计价管理办法
- 水闸运行管理课件
- 2023版押品考试题库含答案
- 高压配电设备安全操作规范
- 水利建设管理
- 220KV变电站电气设计(220KV变电站电气施工组织设计)完整版
评论
0/150
提交评论