2024-07-04 14:56:16
勇哥注:wcf的双工通讯,有双工通讯和发布订阅两种方式。(一)勇哥先来演示“双工通讯”程序还是使用简单的add计算的例子。下面是程序的解决方案,为了简单就只有两个项目。我们把契约、服务、hosting合在一起,变成下面的WcfService项目。ContractAndService.csusing System;
using System.Collections.Generic;
using...
2024-07-02 16:44:24
勇哥注:这是一个比较容易忘记的点,特别是使用wcf配置工具的时候。Service的name并不是随便命名的。 <services>
<service name="Services.CalculatorService">
<endpoint address="http...
2024-07-02 16:04:10
先来引用一下关于超时问题的处理的一些资料处理WCF超时的最佳方法1. 调整WCF绑定配置:可以通过修改绑定配置来增加或减少超时时间。在WCF配置文件中,可以设置连接超时、读取超时和发送超时等参数。根据具体情况,可以适当增加这些超时时间,以确保请求能够在预定时间内完成。2. 使用异步操作:使用异步操作可以提高WCF服务的性能和响应能力。通过使用异步操作,可以将长时间运行的操作放在后台线程中进行处理,...
2024-07-02 14:09:06
本文将定义一个 WCF 终结点行为扩展,以在 WCF 中使用更高效的 BinaryFormatter 进行二进制序列化,并实现对是否使用传统二进制序列化功能的可配置。介绍实现步骤使用方法效果 介绍在 OEA 框架中,是使用 WCF 作为数据传输框架。但是使用 WCF 内部的二进制序列化,序列化后的数据大小,要比使用传统的 System.Runtime.Serialization.Formatter...
2024-07-02 11:43:56
什么是分布式软件系统?分布式软件系统是什么意思?分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。分布式操作系统负责管理分布式处理系统资源和控制分布式程序运行。它和集中式操作系统的区别在于资源管理...
2024-07-01 17:18:46
勇哥注:网上的教程都是教你怎么用Fiddle+浏览器来抓包;或者是怎么抓手机软件的包。就是很少教你怎么来抓.net程序的包,特别是抓wcf的soap包、rest包。下面的资料其实是Fiddle的官方文档的翻译。https://docs.telerik.com/fiddler/configure-fiddler/tasks/configuredotnetapp 要允许 .NET Framework...
2024-07-01 11:14:55
勇哥注:halcon是不支持远程算子访问的。更别提分布式访问。它只能弄个监听tcp的死循环,然后跟据送进来的字符串进行case。所以这里说的分布式halcon服务,指的是勇哥正在开发的一套开源软件:SkHalconService。系列文章:分布式halcon服务:SkHalconService(一)项目介绍分布式halcon服务:SkHalconService(二)两种服务调用的方式:RPC和BA...
2024-06-30 16:25:49
1、服务“CJ.Demo.Conso.WcfService.EmployeeMngService”有零个应用程序(非基础结构)终结点。这可能是因为未找到应用程序的配置文件,或者在配置文件中未找到与服务名称匹配的服务元素,或者服务元素中未定义终结点。<service name="CJ.Demo.Conso.WcfService.EmployeeMngService">...
2024-06-29 22:44:15
勇哥注:这里比较一下几种宿主环境谁最常用。1. windows service [Windows服务] topself 可以方便做服务部署【生产环境第一选择】使用方式见下面博客:https://blog.csdn.net/qq_40229737/article/details/105201894 官网 http://topshelf-project.com 目前已经没有了,域名都已经注销了,连...
2024-06-29 20:06:42
(一)这一种是基地+address写两个<endpoint>第一个是业务用的,第二个就是元数据交换,地址是: net.pipe://localhost/Dmc3000IAxisAPI/mex,如果你用浏览器可以访问到,地址就是对的。当然也可以不要基地址,直接写元数据的地址。<service name="SMotionHardwareLayer.MotionCardRes...
2024-06-28 16:13:05
勇哥注:对于.net framework的程序来说,读app.config配置文件用常见。但是有时候可能需要写配置文件,一般只推荐读而不推荐写,那要写的时候怎么办呢?注意绝对不要用xml文件的方式去写,那样就失去了配置文件的意义了。一、配置文件概述:应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程...
2024-06-28 15:02:40
MQTT和AMQP在工业制造领域中是两种重要的消息传递协议。以下是关于这两种协议的详细解释:MQTT(Message Queuing Telemetry Transport)运行在TCP/IP协议族上。以极少的代码和有限的带宽提供实时可靠的消息服务。低开销、低带宽占用,适用于物联网、小型设备、移动应用等场景。定义:MQTT是一种基于发布/订阅模式的轻量级通讯协议,专为远程设备以及网络状况不佳的情况...
2024-06-27 20:51:11
勇哥注:LINQ to SQL工具是在.net framework中专门用于SQL Server的,利用LinQ进行数据库查询功能的工具。详细介绍如下:LINQ to SQL是一种在.NET Framework中用于处理关系数据库查询的工具,
它属于LINQ(Language Integrated Query,语言集成查询)家族的一部分。
以下是关于LINQ to SQL的详细解释:
定...
2024-06-27 14:01:18
勇哥注:wcf服务配置器中,有许多少见的概念。在此贴缕一下。(一)基本操作(1.1)服务用以配置<services>标签下的<service>每个<service>都会配置<endpoint>(1.2) 主机第个<service>下都可以设置<host>,可以配置<timeouts>(1.3) 终结点<ser...
2024-06-26 21:42:02
一、为什么要使用MSMQ在一个分布式的环境中,我们往往需要根据具体的情况采用不同的方式进行数据的传输。比如在一个Intranet内,我们一般通过TCP进行高效的数据通信;而在一个Internet的环境中,我们则通常使用Http进行跨平台的数据交换。而这些通信方式具有一个显著的特点,那就是他们是基于Connection的,也就是说,交互双方在进行通信的时候必须保证有一个可用的Connection存在...
2024-06-25 14:31:28
勇哥注:此系列文章是梳理一下勇哥认为项目有用的WCF的知识点,读者须有WCF的开发经验。wcf的安全机制分为消息级与线路级1。所有的wcf服务,不要使用证书(SSL证书,用于传输上的加密),证书很贵划不来 证书一个域名4K。 如果是 IOS下的webapi,是必须要证书的。2。非证书使用方式 如果你的wcf需要对外,那么增加验证是必须的。 (1)如果对方是C#程序,可以在c...
2024-06-25 14:18:35
下图上半部分是正常的访问。下半部分通过插入一个EndPointBehavior,起到类似aop的作用,可以用于篡改message,做一些类似监控的事情 。一。端点行为 EndpointBehavior【aop】动态篡改message二。service方法的实时调用量统计做类似于监控的作用1. Dowork TotalCount2. GetStudent TotalCount还可以做服务...
2024-06-25 10:48:05
勇哥注:此系列文章是梳理一下勇哥认为项目有用的WCF的知识点,读者须有WCF的开发经验。(一)为什么需要分布式事务?见下图,Client需要向192.168.10.2的服务器请求处理ProductNum--, 然后再向192.168.10.1的服务器请求处理AddOrder。由于请求跨了不同的服务器,因此需要分布式的事务来处理此种情况。(图1)分布式事务ACID [单机版]将多个节点的操作纳入一个...
2024-06-25 09:06:24
勇哥注:此系列文章是梳理一下勇哥认为项目有用的WCF的知识点,读者须有WCF的开发经验。WCF的Behavior [运行时改变wcf的行为]wcf的behavior是wcf的服务运行时提供的功能。如下图:常用的behavior有三类:服务行为 [ServiceBehavior] 实例行为,事务行为,并发行为,限制行为端点行为 [EndPointBehavior] 消息检查,调度行...
2024-06-24 19:50:27
勇哥注:此系列文章是梳理一下勇哥认为项目有用的WCF的知识点,读者须有WCF的开发经验。 wcf的预定义绑定 (1)ws*开头的绑定 【用于跨语言互通】 webservice模式 【BasicHttpBinding, WsHttpBinding】 restful模式 【WebHttpBinding】 (2) net开头的绑定 【用于.net 程序之间的互通】 直边式...
2024-06-24 17:23:08
勇哥注:此系列文章是梳理一下勇哥认为项目有用的WCF的知识点,读者须有WCF的开发经验。一. 数据绑定dataContract在适配CLR类型和WSDL的XLD之间的灵活应用xsd是描述数据类型的,.net, java的程序最终生成的数据契约都是xsd的不同的语言都是根据XSD生成各自平台下的强类型。1. 普通的类2. 集合类类型3. 字典类型4. 枚举二. 对集合和枚举类型,要解决的坑 对服务...
2024-06-24 07:59:13
勇哥注:此系列文章是梳理一下勇哥认为项目有用的WCF的知识点,读者须有WCF的开发经验。(一)wcf的概念和定位1. 历史进程面向对象:解决代码维护性问题【设计模式】面向组件:解决利用性问题[react, html->一个个页面分成各个组件[es6 jsx, scss],让js成了一个面向对象的语言] 面向服务:解决多系统互通问题【跨平台,跨语言】否则写的系统 ,不能被别的系统调用。2。...
2024-06-22 11:20:49
WCF4.0进阶系列--第一章 WCF简介https://www.cnblogs.com/yang_sy/archive/2011/05/10/2041741.htmlWCF4.0进阶系列--第二章 寄宿WCF服务https://www.cnblogs.com/yang_sy/archive/2011/05/16/2046599.html WCF4.0进阶系列--第三章 构建健壮的程序和服务htt...
2024-06-21 16:46:53
KnowType指定 DataContractSerializer 在序列化和反序列化给定类型时应识别的类型ServiceKnownType指定序列化或反序列化时服务要使用的已知类型父类:
namespace Contracts.Model
{
//[KnownType(typeof(ChildModel))]
public class ParentModel...
2024-06-21 16:33:37
1:WCF异常在配置文件<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="serviceDebuBehavior">
<se...
2024-06-21 16:08:38
本篇博文只是简单说下WCF中的契约的种类、作用以及一些简单的代码示例。在WCF中契约分为服务契约、数据契约和消息契约。下面对这几种契约进行简单的介绍。服务契约服务契约描述了暴露给外部的类型(接口或类)、服务所支持的操作、使用的消息交换模式和消息的格式。每个WCF服务必须实现至少一个服务契约。使用服务契约必须要引用命名空间System.ServiceModel 。服务契约中常用到的三个特性:Serv...
2024-06-21 15:45:32
学以致用”,如果仅仅是希望能够在项目中合理地应用WCF,那么对于程序员而言,可以有两种选择,一种是“知其然而不知其所以然”,只要掌握了WCF的基础知识,那么对于一般的应用就足够了。要做到这一点就很容易了,微软秉承了一贯的方式,将WCF这门技术优雅地呈现给开发者,封装了复杂的实现逻辑,提供了易于调用的类库和相关的工具,使得开发者能够快速地完成WCF程序的开发。另外一种方式自然就是深度挖掘WCF的内部...
2024-06-21 15:44:23
Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework 3.5的重要组成部分。使用该框架,开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案。构建一个WCF程序通常分为三个部分:服务类(Server)、宿主(Host)、客户程序(Client)。有一个很重要的...
2024-06-21 15:40:28
我们首先先新建一个WCF服务项目(代码没有改变,都是默认生成),然后把它部署到IIS上面,为我们下面客户端调用做准备(当然IIS宿主只是其中一种,还有Windows服务、Winform程序、控制台程序中进行寄宿); 方式一:利用工具svcutil.exe命令生成代理类 svcutil.exe {终结点}/out:{输出文件.cs} /config:{配置文件.config}...
2024-06-21 15:34:51
实例上下文(InstanceContextMode):可以简单地理解为服务端的服务实例与客户端的服务代理之间的关联方式;它主要包括三种模式:(1)单调 Per-Call (2)单例Single (3)会话Per-Session 它是作用在实现服务契约上1:首先介绍单调模式Per-Call:代码如下:[PerCall]
public class CalculatorService : ICalc...