• winform提供webapi服务,实现双向http通信

    @[TOP](Winform程序开启Web服务) # 背景 在很久以前为了满足需求,已经开发了一款winform程序,并且是4.6.1版本的,如今为了和第三方对接,需要在这个winform上提供WebAPI的接口。因为第三方的程序是一份没有源码的程序。 # 思路 ## 方法1 - 网上有很多自写web服务的功能,个人觉得过于麻烦,而且还要考虑一些路由规则什么的,太难了 ## 方法2 - 使用iis或者nginx提供服务,一个web程序和一个winform程序实现通信,需要做两个程序,还要交互,麻烦 ## 方法3(本文使用的方法) 考虑4.6.1 版本刚好支持了netcore,所以可以将kestrel服务集成到winform中,直接提供webapi服务 # 实现 ## 在winform程序中引入几个nuget包 Microsoft.AspNetCore Version="2.1.7" Microsoft.AspNetCore.Mvc Version="2.1.3" 在使用nuget引入的时候会将关联的全部引入进来,完整的packages.config文件如下

    0
    480
    10.76MB
    2023-04-25
    1
  • 自动更新apk,xamarin.android 对话框

    @[TOC] # 思路 - 服务端提供版本信息和apk下载地址 - 客户端通过对比版本进行文件下载安装升级 # 客户端 ## 权限清单(AndroidManifest.xml) ```xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0.2" package="com.companyname.boshiac.forklift.app" android:installLocation="auto"> <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="33" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="

    0
    141
    116.85MB
    2023-02-19
    16
  • Kestrel封装成WindowServer.zip

    背景 在一些开发过程中,会在局域网内搭建webapi服务作为移动端的服务接口使用,但是每次实施人员要到客户现场安装iis等工具,还有一些web的配置,非常繁琐,所以想着把webapi封装到WindowService中,可以通过自定义的安装程序进行一键部署,岂不美哉! 这篇文章主要是记录如何将Kestrel的服务封装在WindowService中 关于WindowsServer 请参考如下这篇文章 .netcore worker service (辅助角色服务) 的上手入门,包含linux和windows服务部署 开发服务 之前做过.net5版本的处理,觉得挺简单的,但是到.net6的时候遇到了一些问题,所以下面都会记录 .NET5版本 建项目 新建一个webapi项目,如下图 添加Controller using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; namespace WebApiNet_v5.Controllers { [Route("api/[controller]")]

    0
    162
    22.28MB
    2023-01-10
    0
  • C# NModbus 操作

    # Modbus 协议简介 Modbus通信协议具有多个变种,支持串口(主要是RS-485总线),以太网多个版本,其中最著名的是Modbus RTU,Modbus ASCII 和Modbus TCP三种。在工业现场一般都是采用Modbus RTU协议,一般大家说的基于串口通信的Modbus通信协议都是指Modbus RTU通信协议。 与Modbus RTU协议相比较,Modbus TCP协议则是在RTU协议上加一个MBAP报文头,并且由于TCP是基于可靠连接的服务,RTU协议中的 CRC校验码就不再需要,所以在Modbus TCP协议中是没有CRC校验码的,所以就常用一句比较通俗的话来说:Modbus TCP协议就是 Modbus RTU协议在前面加上五个0以及一个6,然后去掉两个CRC校验码字节就OK。虽然这句话说得不是特别准确,但是也基本上把RTU与TCP 之间的区别说得比较清楚了。 ## Modbus的功能码 |功能码 | 含义 | |--|--| | 0x01 |读线圈 | | 0x02 |读离散量输入 | | 0x03|读保持寄存器 | | 0x04

    5
    1518
    5.84MB
    2022-11-17
    27
  • C# 文件压缩解压与sqlite存储文件数据

    使用C#对文件进行压缩和解压操作,并且将压缩的文件数据存储到sqlite中。在使用的时候将sqlite中的文件数据读取下来,进行解压到本地进行二次操作。 用途:用于文件存储与部署操作等。

    0
    75
    42.68MB
    2022-11-17
    9
  • libssl-1_1-x64.dll

    解决这个问题的dll 无法定位程序输入点 OPENSSL_sk_new_reserve 于动态链接库 xxx\libssl-1_1-x64.dll

    0
    846
    517KB
    2020-05-19
    50
  • ORACLE与SQLSERVER中的语法区别

    详细的描述了ORACLE和SQLSERVER中部分方法的区别和使用中遇到的坑

    0
    269
    68KB
    2015-10-13
    10
  • 持之以恒

    授予累计1月发布8篇原创IT博文的用户
  • 笔耕不辍

    累计4年每年原创文章数量>=20篇
  • 勤写标兵

    授予累计2周发布3篇原创IT博文的用户
  • 创作能手

    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户
  • 话题达人

    参与话题个数=1
  • 博客之星–参与

    参与博客之星评选活动可得。
  • 习惯养成

    连续回答技能树练习题 1 天,每天答对至少 1 题
  • 知无不言

    回答1个问题,每日最多计数5次
  • 求知

    发布1个问题
  • 持续创作

    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 阅读者勋章

    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 签到新秀

    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 分享小兵

    成功上传3个资源即可获取
  • 学习力

    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
关注 私信
上传资源赚积分or赚钱