
wcf
xinyue_htx
自建博客https://xinyuehtx.github.io/
展开
-
WPF文本(1)-当显示文本时我们到底在做什么(1)
文本显示是任何软件最重要的功能之一。但是很少有同学去关注文本的底层运作原理。这个系列将会介绍什么是文本的一些逻辑,以及如何利用我们的WPF现有接口,对文本进行最大程度定制化。首先我们要明确,对于软件布局渲染来说,无论是文本,图片还是其他控件,其根本操作都是在指定区域显示指定大小的特定图像。由此我们可以推出,软件要完成某个特定对象布局渲染,需要1、测量对象的指定大小以及可以用于布局渲染的空间大小...原创 2020-02-20 09:55:40 · 429 阅读 · 0 评论 -
wcf入门(15)——绑定介绍
本文demo已上传至github:xinyuehtx/WCFdemo这篇文章将会介绍binding绑定绑定是用于配置wcf如何进行endpoint的对象,其包括协议配置(如wcf入门(14)——可靠会话_wcf,c#_黄腾霄的博客-优快云博客用到的可靠会话配置),消息编码方式(如文本编码,二进制编码),底层传输方法(如tcp)。不同的绑定能够支持的wcf服务功能也不同。作为入门教程,这...原创 2020-02-11 11:50:04 · 216 阅读 · 0 评论 -
wcf入门(14)——可靠会话
本文demo已上传至github:xinyuehtx/WCFdemo在之前的wcf入门(6)——服务会话_wcf,c#_黄腾霄的博客-优快云博客博客介绍了wcf的会话,这一篇介绍可靠会话可靠消息传输在了解可靠会话之前我们需要先了解下什么是可靠消息传输(Reliable Messaging)。我们知道网络数据在传输过程中,丢包,乱序都是一种很常见的情况。对于某些软件,数据的完整性和有序...原创 2020-02-11 11:46:43 · 253 阅读 · 0 评论 -
wcf入门(13)——异步代码超时研究
本文demo已上传至github:xinyuehtx/WCFdemo在之前的wcf入门(12)——异步调用_wcf,c#_黄腾霄的博客-优快云博客博客介绍了wcf的异步,但是发现一些小伙伴没有注意到的问题。因此做一些补充实验异步代码会导致超时么上一次我们发现当返回值至task时,消息一旦发出,线程就会继续执行。那么继续利用上一个博客的例子,我们尝试将delay增加到3min,然后检查输...原创 2020-02-11 11:39:11 · 168 阅读 · 0 评论 -
wcf入门(12)——异步调用
本文demo已上传至github:xinyuehtx/WCFdemo这个博客会介绍如何设置服务的异步调用之前在介绍wcf入门(3)——请求答复模式_黄腾霄的博客-优快云博客请求答复模式时,提到了异步服务操作。实际上在C#5引入基于任务的异步模型(TAP,async/await)之后,异步的wcf服务变得非常简单。异步实现首先在定义接口时,将返回值改为Task<T>,表明这...原创 2020-02-11 11:20:56 · 364 阅读 · 0 评论 -
wcf入门(11)——设置服务的异常回馈
本文demo已上传至github:xinyuehtx/WCFdemo这个博客会介绍如何设置服务的异常回馈在之前的博客wcf入门(9)——异常处理机制_wcf,c#_黄腾霄的博客-优快云博客和wcf入门(10)——异常回馈_wcf,c#_黄腾霄的博客-优快云博客中介绍了wpf提供的2种错误协定回馈异常的方式。遗憾的是这2中方式都没有办法处理OneWay的情形。这边博客介绍如何利用我们现...原创 2020-02-10 09:47:47 · 172 阅读 · 0 评论 -
wcf入门(10)——异常回馈
本文demo已上传至github:xinyuehtx/WCFdemo这个博客会介绍如何设置服务的异常回馈在上一篇博客中介绍了wcf入门(9)——异常处理机制_wcf,c#_黄腾霄的博客-优快云博客如何使用错误协定回馈指定异常,但是往往会存在部分异常是非预期的。这一篇会介绍如何使用服务行为回馈未指定异常回馈未指定异常这里我们对上一个例子进行一些修改首先服务接口删除错误协定在服务实现...原创 2020-02-10 09:18:12 · 237 阅读 · 0 评论 -
wcf入门(9)——异常处理机制
本文demo已上传至github:xinyuehtx/WCFdemo这个博客会介绍如何设置服务的异常回馈多进程之间调试,或者是客户端/服务器联调,很麻烦的一点是出了异常如何定位?是客户端问题,还是服务端问题,抑或是信道问题?这时候通过异常回馈将服务端发生的异常信息反馈给客户端就显得很重要。错误协定(FaultContract)服务操作可以标记错误协定,表明这个方法可能会出现指定错误。...原创 2020-02-09 09:29:09 · 201 阅读 · 0 评论 -
wcf入门(8)——并发控制
本文demo已上传至github:xinyuehtx/WCFdemo这个博客会介绍如何设置服务的并发并发(Concurrency)并发控制着服务端的实例上下文InstanceContext的使用线程。并发有三个可设置的值Single,Reentrant,Mutiple其中,`Mutiple是多线程的,意味这个服务实例可以允许多个线程访问Single和Reentrant都是单线程的...原创 2020-02-09 09:20:49 · 592 阅读 · 0 评论 -
wcf入门(7)——实例化
本文demo已上传至github:xinyuehtx/WCFdemo这个博客会介绍如何设置服务的实例化实例化(Instance)在wcf入门(6)——服务会话_wcf,c#_黄腾霄的博客-优快云博客中介绍会话时,我们已经接触过实例化。如图所示,当时我们在服务实现上设置了一个ServiceBehavior,并且指定InstanceContextMode为PerSession。确保整个会...原创 2020-02-09 09:17:06 · 315 阅读 · 0 评论 -
wcf入门(6)——服务会话
本文demo已上传至github:xinyuehtx/WCFdemo这个博客会介绍如何设置服务的会话会话(Session)还记得wcf入门(5)——双工模式_wcf,c#_黄腾霄的博客-优快云博客中提到的双工模式么?大家有没有疑问为什么服务端能够知道该向谁回复消息呢?有人可能会说因为我们例子里面的TCP是面向连接的。可是系统提供的WSDualHttpBinding也是支持双工的,但...原创 2020-02-09 09:13:04 · 539 阅读 · 0 评论 -
wcf入门(5)——双工模式
本文demo已上传至github:xinyuehtx/WCFdemo这个博客会介绍如何设置服务操作调用模式的第三种双工模式(Duplex)双工模式双工模式意味这个客户端可以向服务端发送消息,同时服务端也可以向客户端发送消息双工模式实际上是由客户端->服务端的服务协议和服务端->客户端的回调协议组成。而每个协议中的方法都可以选择是单向模式,或者是请求答复模式。因此双工模式...原创 2020-02-08 09:08:36 · 657 阅读 · 0 评论 -
wcf入门(4)——单向模式
本文demo已上传至github:xinyuehtx/WCFdemo这个博客会介绍如何设置服务操作调用模式的第二种单向模式(One-Way)单向模式单向模式服务的调用如图所示,可以看到仅用于一端向另一端发送消息,而没有回复。由此可见,单向模式的服务方法一定是void方法创建单向模式的操作很简单,只要在OperationContract中将IsOneWay设置成True即可再次强调...原创 2020-02-08 09:06:29 · 331 阅读 · 0 评论 -
wcf入门(3)——请求答复模式
本文demo已上传至github:xinyuehtx/WCFdemo这个博客会介绍如何设置服务操作的调用模式WCF的服务调用有3种模式:请求答复模式(Request-Repley),单向模式(One-Way),双工模式(Duplex)请求答复模式请求答复模式的服务调用方式如如所示,这也是服务的默认行为。如图所示我们创建了服务协定IRequestResponse,并且定义了方法Say...原创 2020-02-07 09:46:33 · 276 阅读 · 0 评论 -
wcf入门(2)——HelloWorld
本文demo已上传至github:xinyuehtx/WCFdemo宇宙起源于helloworldHelloWorld开启宇宙第一IDE——visual studio。创建一个工程我们看到vs已经为我们提供了许多wpf的默认模板。但是作为入门教程,建议大家创建一个.NET Framework 的控制台应用,然后一步步进行开发。来自灵魂的拷问 ——为什么不用 .NET Core?...原创 2020-02-07 09:28:57 · 369 阅读 · 0 评论 -
wcf入门(1)——WCF介绍
今天开一个新坑WCF的入门教程什么是WCFwcf - Windows Communication Foundation,是微软设计的一个构建SOA的一个应用程序框架。其主要用于解决应用程序之间的通信问题。在我看来WCF更适合被看做一个统一的通信编程模型。在WCF之前,微软推出过Web Service,.NET Remoting以及基础的Winsock等通信框架。各个通信方式的编程模型各不相...原创 2020-02-07 09:24:48 · 705 阅读 · 0 评论