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...
2024-06-21 10:04:42
勇哥注:挺有意思的一个应用。动态跟随人划的笔迹。...
2024-06-18 10:32:14
勇哥注:为啥需要实时操作?你得先在项目中发现需求,否则就不可能明白实时性的重要性。勇哥先讨论一下为啥在自动化领域对操作系统的实时性有要求。我们从几个需求说起:(1)怎么做到精准的定时扫描IO呢? 通过线程扫描IO的方式,会受到windoows调度的不及时的影响(windows是抢占式多任务,也称为分时系统)。 你无法确保能以5ms这样的固定调期去扫描IO。(2)能否自定义飞拍?...
2024-06-17 22:30:07
xaml源码:几个说明:(1)命名空间<Window ... >:
这是定义 WPF 窗口的根元素。
x:Class="WpfApp1.MainWindow":
这指示该 XAML 文件与名为 MainWindow 的类相关联,该类位于 WpfApp1 命名空间中。
这允许你在 C# 或其他 .NET 语言中编写与该窗口交互的代码。
xmlns 属...
2024-06-17 20:22:42
勇哥注:早些年,微软推出Silverlight是为了对抗Flash,因此它和flash一样是浏览器的一个插件。自从HTML5发布后,Flash以肉眼可见的速度完蛋,接下来完蛋的就是Silverlight。后继者就是Blazor WebAssembly,它不需要插件的。Microsoft Silverlight将于2021年10月12日结束支持。尽管现阶段Silverlight依然受到微软的支持,但...
2024-06-17 15:56:32
勇哥注:wcf的REST服务,其实就是WCF Web HTTP服务,跟web api相似。由于WebServiceHost已经包含了ServiceHost的所有功能,并额外添加了Web HTTP端点的支持。如果你想同时包含SOAP端点和REST端点,可以在app.config中一并定义了。客户端:浏览器访问的效果:Service.InterfaceContract.csusing System;...
2024-06-17 07:59:40
常见的三种技术:SO 面向服务 (SOA面向服务架构)OO 面向对象 (OOP 面向对象编程范式)CO 面向中组件 (COP面向组件编程范式)以上三者体现的是一种对关注点进行分解的思想,而向服务是和技术无关的。有关几种范式的详细情况见勇哥下面的文章:常用的编程范式以及C#对它们的支持情况 http://www.skcircle.com/?id=2247SOA 面向服务的架构对...
2024-06-15 11:01:28
当WCF(Windows Communication Foundation)使用REST服务时,它确实可以看作是提供Web API的一种方式。下面我将就这个问题进行详细的解释和归纳:WCF与REST:WCF是微软提供的一个用于构建面向服务应用程序的框架,它支持多种通信协议,包括SOAP和REST。当WCF使用REST服务时,它允许开发者通过HTTP协议和RESTful原则(如使用HTTP动词如GE...
2024-06-15 10:48:07
Web API属于API架构,具体来说,它可以被归类为Web应用的API架构中的一种实现方式。API(Application Programming Interface,应用程序编程接口)是定义不同软件组件之间交互规范的一组接口,它允许不同的系统或应用程序之间进行数据交互和通信。在Web应用中,API架构可以分为多种类型,包括单体架构、分层架构、微服务架构和无服务器架构等。Web API作为API...
2024-06-14 16:12:17
(一)ChannelFactory<T>的缓存机制ChannelFactory<T>是一个复杂费时的工作,wcf内部使用缓存机制提高服务调用性能 CalculatorClient proxy1 = new CalculatorClient("calculatorservice"); proxy1.Open(); CalculatorClient prox...
2024-06-14 13:53:56
通信对象 System.ServiceModel.Channels.ServiceChannel 无法用于通信,因为其处于“出错”状态。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.ServiceModel.CommunicationObjectFaultedException: 通信对...
2024-06-13 13:57:14
勇哥注,下面的程序是摘自蒋金楠的文章:他是wcf方面的权威 https://www.cnblogs.com/artech/archive/2007/02/26/656901.html 我把这个程序做为后面文章的起始代码用。这个程序用的是vs2017。目前的wcf的hosting端只能用在.net framework里,.net core用不了。而client端,在两边都是可以使用的。在.net f...
2024-06-13 10:07:12
一个现实的需求:一个wcf net.tcp连接会在10分钟后超时,然后断开了连接
(复现方式是:通讯一次就不再动作),你必须重启客户端程序。在WCF中,net.tcp连接的超时设置可以在服务配置文件中进行调整。以下是一些可能有用的信息和建议:超时设置:在WCF服务的配置文件中,可以设置连接超时时间。以下是一个示例配置:<bindings>
<netTcpBinding&g...
2024-06-12 21:29:56
(一)Prism的区域引用上篇的代码ViewModel这段代码虽然能完成功能,但是有下面的缺点:1。 viewmodel里加入太多的控制代码,你Ui如果复杂点,会变成到处都是binding,造成viewmodel中的代码维护越来越复杂。2。Open中那个丑陋的switch,让人想到为啥它不是依赖注入呢? public class MainWindowViewModel : BindableBa...
2024-06-12 10:15:34
wpf开发的经验对maui,winui开发有帮助吗?WPF开发的经验对MAUI和WinUI的开发确实有很大的帮助。以下是详细的解释:技术基础:WPF(Windows Presentation Foundation)是微软提供的用于Windows应用开发的框架,它拥有强大的界面表现力、数据绑定和模版化功能。MAUI(Multi-platform App UI)和WinUI都是微软推出的用户界面框架,...
2024-06-11 19:29:55
(一)安装Prism包,及vs的创建Prism项目模板安装nuget包: Prism.DryIoc安装Prism的项目模板:关闭VS,会继续安装。安装完成后,vs有了Prism的项目模板。我们选择创建Prism Full App(WPF), 在弹出来对话框中选择“DryIoc”容器,这个是默认值。还有一个可选容器是Unity。创建好的工程如下:在这些项目中,执行程序上FullApp1,用的是....
2024-06-11 13:54:30
Prism框架、MvvmLight和Microsoft.Toolkit.Mvvm(也称为CommunityToolkit.MVVM)都是用于支持WPF(Windows Presentation Foundation)中MVVM(Model-View-ViewModel)设计模式的框架。以下是关于这些框架的详细信息:Prism框架:来源:Prism框架并非直接由微软官方开发,但它得到了微软模式和实践...
2024-06-10 10:46:56
需求: 滑动条拖动,文本框值变化 文本框值变,滑动条值也变化实际上是一种控件双方绑定的需求。靠事件的实现: /// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
publ...
2024-06-09 22:24:33
控件操作的反面例子如下:数据和UI混在一起。i是数据,却和UI操作写成一堆。 <ListBox x:Name="lbx1"/> for(int i=0;i<10;i++)
{
lbx1.Items.Add(new ListBoxItem()
{...
2024-06-09 19:05:42
(一)基本样式即使用Style属性来修饰元素的外观。注意几点: Stype如果不指定名字,则对全部按钮应用样式注意StaticResource myclass, 而不是StaticResource.myclass,否则会报错这个有点奇怪。<Window x:Class="WpfApp1.MainWindow"
xmlns="http://sch...
2024-06-09 07:30:55
上微软教程:https://dotnet.microsoft.com/zh-cn/platform/upgrade-assistant/tutorial/intro?initial-os=windows 本文把下面文章的代码由.net framework4.6升级为.net 8.0勇哥这里记录一下实施过程。WCF盘点+实验分布式halcon应用(一)基本应用http://www.skcircle....