.Net Framework

Java大文件分片上传/多线程上传插件

China☆狼群 提交于 2020-08-15 13:54:37
java两台服务器之间,大文件上传(续传),采用了Socket通信机制以及JavaIO流两个技术点,具体思路如下: 实现思路: 1、服:利用ServerSocket搭建服务器,开启相应端口,进行长连接操作 2、服:使用ServerSocket.accept()方法进行阻塞,接收客户端请求 3、服:每接收到一个Socket就建立一个新的线程来处理它 4、客:利用Socket进行远程连接,询问已上传进度 5、客:使用FileInputStream.skip(long length)从指定位置读取文件,向服务器发送文件流 6、服:接收客户端输入流,使用RandomAccessFile.seek(long length)随机读取,将游标移动到指定位置进行读写 7、客/服:一个循环输出,一个循环读取写入 8、示例:以下是具体代码,仅供参考 文件介绍: FileUpLoadServer.java(服务器接收文件类) FileUpLoadClient.java(客户端发送文件类) FinalVariables.java(自定义参数类) SocketServerListener.java(JavaWeb启动Socket操作类) web.xml(配置文件,跟随项目启动) 断点上传(服务端) package com.cn.csdn.seesun2012.socket; import java.io

如何解决win10 安装.net framework 3.5 报错 0x800F0954的问题

安稳与你 提交于 2020-08-15 12:24:55
一、问题描述 win10 安装.net framework 3.5 报错 0x800F0954。.net framework 3.5安装包放在C:\Temp\文件夹中。 二、解决办法 1、在开始菜单中打开运行,输入regedit,点确定,打开注册表窗口。 2、在注册表中找到注册表路径Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU,在右侧列表中找到键值名 UseWUServer, 修改它的值,改为0。 3、以管理员身份在Powershell中执行Restart-Service wuauserv 命令,以重启windows UpdateService。 4、重新执行Dism的命令,安装.net framework 3.5安装包。 DISM.EXE /Online /Add-Package /PackagePath:C:\Temp\microsoft-windows-netfx3-ondemand-package~31bf3856ad364e35~amd64~~.cab 5、把注册表修改的值修改回原值,并重启windows UpdateService。 6、成功完成.net framework 3.5的安装。 来源: oschina 链接: https://my

eShopOnContainers 知多少[11]:服务间通信之gRPC

删除回忆录丶 提交于 2020-08-15 11:32:04
引言 最近翻看最新3.0 eShopOncontainers源码,发现其在架构选型中补充了 gRPC 进行服务间通信。那就索性也写一篇,作为系列的补充。 gRPC 老规矩,先来理一下gRPC的基本概念。gRPC是Google开源的RPC框架,比肩dubbo、thrift、brpc。其优势在于: 1. 基于proto buffer:二进制协议,具有高性能的序列化机制。相较于JSON(文本协议)而言,首先从数据包上就有60%-80%的减小,其次其解包速度仅需要简单的数学运算完成,无需复杂的词法语法分析,具有8倍以上的性能提升。 2. 支持数据流。 3. 基于proto 文件:可以更方便的在客户端和服务端之间进行交互。 4. gRPC语言无关性: 所有服务都是使用原型文件定义的。这些文件基于protobuffer语言,并定义服务的接口。基于原型文件,可以为每种语言生成用于创建服务端和客户端的代码。其中protoc编译工具就支持将其生成C #代码。从.NET Core 3 中,gRPC在工具和框架中深度集成,开发者会有更好的开发体验。 gRPC 在 eShopOncontainers 的应用 首先来理一下eShopOncontainers 中服务间同步通信的技术选型,主要还是是基于HTTP/REST,gRPC作为补充。 在eShopOncontainers中Ordering API

造轮子-AgileConfig基于.NetCore的一个轻量级配置中心

大城市里の小女人 提交于 2020-08-15 11:22:51
微服务确实是行业的一个趋势,我自己也在把一些项目往微服务架构迁移。玩微服务架构配置中心是一个绕不过去的东西,有很多大牌的可以选,比如spring-cloud-config,apoll,disconf等等。而我为什么还要造一个轮子呢?一来这些都不是.net实现的,我就想试试用.net core实现一个,而且他们也对.net不太友好,也只有apoll提供了官方的.net客户端。二来这些组件都太重量级了,比如apoll,光跑起来就要部署多个节点(admin,portal,meta sevice)还要依赖eureka。很多旧的项目往微服务迁移的时候并不是一下次全部调整完成的,可能是一步步来的,比如先把所有的服务都容器化,并没有使用微服务全家桶。而且有的项目也不需要微服务全家桶,毕竟微服务不是银弹,很多项目单体结构就足够了,有些项目传统的SOA架构也可以了。(唠叨一句,那种毫无流量毫无并发的项目,几人几天就搞完的强上微服务真的好吗?)但是这些项目也可能是分布式的,容器化部署的,那么这些项目我觉得也是需要配置中心的,因为在分布式、容器化环境下更改配置实在是太麻烦了。可以说配置中心并不是微服务独有的。基于以上原因我提炼了一些配置中心必备的功能,做的尽量简单(陋),开发了AgileConfig,为.net core的生态尽一份绵薄之力。 Github求star: AgileConfig

海康摄像头web观看操作rtmp/hls推流rtsp流转rtmp流

这一生的挚爱 提交于 2020-08-15 10:58:51
源码介绍:   海康摄像头web端无插件播放是指设置好摄像头参数后,即可在web浏览器不安装任何自定义插件即可实现流程播放。   系统通过拉取海康rtsp流,在用户点击观看时,自动将流转换为rtmp与hls流,推送到自定义流媒体服务器,实现web端 flash播放与html5原生播放。 如有需求,可在线留言或者发消息都可以,看到后会第一时间回复。 目前支持如下功能: 在线观看、摄像头转动调焦操作、视频录制、分屏播放等。 系统介绍: 使用web端播放无需插件(支持flash 与 html播放器 直接播放) 手机/微信端可以实时播放 rtsp流转rtmp,rtsp转hls 系统web端基于.net core 开发,推流、录制端基于.net 开发。 自动推流,无人观看时自动关闭推流 录制设置 提供第三方API,可单独部署作为单独应用使用,也可与任意第三方业务系统进行对接。 运行效果 来源: oschina 链接: https://my.oschina.net/u/4374904/blog/4496608

dotnet 用 NuGet 将自己的工具作为 dotnet tool 分发

你离开我真会死。 提交于 2020-08-15 10:47:17
我写了一个有趣的工具,我如何将这个工具给到小伙伴予力众生呢?只需要设定这个工具是 dotnet tool 工具就可以通过 NuGet 分发出去啦。几乎所有的 dotnet 开发者都能用上 NuGet 服务,也就是此工具可以被几乎所有的 dotnet 开发者下载使用。那么制作难度有多大呢?基本上有一个现成的项目前提下,只需两句代码,一句命令行,就能完成制作 本文分为两部分,第一部分就是如何打包一个 dotnet tool 工具,第二部分是如何分发这个工具 在开始之前,我推荐你先安装好 VisualStudio 工具,在 VisualStudio 2019 的帮助下,能够快速简单进行打包和发布 如何打包 dotnet tool 工具 其实 dotnet tool 工具没有任何黑科技,原理就是用 dotnet tool install 命令,这个命令将会通过后续传入的包的 id 从 NuGet 上寻找这个工具,下载到本地。此时要求工具本身不需要做安装包等类似的部署,而是直接复制文件过来就能使用的工具 工具的前提要求就是,这个工具本身通过复制文件的形式就能在设备上运行,无需部署 而 NuGet 包的本质就是一个压缩包,将这个工具压缩,然后修改为 NuGet 包,上传到 NuGet 上,这样就支持其他人从 NuGet 上下载这个工具的压缩包。那么工具和其他库的包有什么不同

[重制版]《代码英雄》第一季(2):操作系统战争(下)Linux 崛起

被刻印的时光 ゝ 提交于 2020-08-15 09:50:14
代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。 什么是《代码英雄》 代码英雄Command Line Heroes是世界领先的企业开源软件解决方案供应商红帽(Red Hat)精心制作的原创音频播客,讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。 本文是《 代码英雄 》系列播客 第一季(2):操作系统战争(下) 的 音频 脚本。 Saron Yitbarek : 这玩意开着的吗?让我们播放一段跟星球大战电影一样的开场字幕吧,第二集开始了! 00:00:30 - 配音 : OS 战争第二部分:Linux 的崛起。微软帝国控制着 90% 的用桌面用户,操作系统的完全标准化似乎是板上钉钉的事了。所以公司们把它们的注意力从桌面端的个人用户,转移到了专业人士上,它们为了服务器的所有权打得不可开交。但是一个有点让人意想不到的英雄出现在开源“反叛组织”中。戴着眼镜,固执的林纳斯·托瓦兹Linus Torvalds免费发布了他的 Linux® 程序。微软摔了个趔趄,并且开始重新调整战略。 00:01:00 - Saron Yitbarek : 哦,我们极客们就是喜欢那样。上一次我们讲到哪了

想学习软件测试,求推荐看什么书或者教程?

Deadly 提交于 2020-08-15 09:20:24
不知不觉到了一年一度的520,特别的节日,你有和你爱的人表白了吗?经典书籍可以参考我写的文章。知乎爱码小哥: [软件测试学习书籍8本【经典推荐】] 然后是软件测试书籍的合集50本。 1.《Google软件测试之道 》 2.《持续交付》 3.《软件测试的艺术 》 4.《 代码整洁之道:程序员的职业素养》 5.《软件测试 》 6.《测试驱动开发 》 7.《软件测试经验与教训》 8.《探索式软件测试》 9.《捉虫日记》 10.《发布!软件的设计与部署》 11.《移动App测试实战》 12.《微软的软件测试之道》 13.《颠覆完美软件:软件测试必须知道的几件事》 14.《有效的单元测试 》 15.《敏捷软件测试测试人员与敏捷团队的实践指南》 16.《腾讯Android自动化测试实战》 17.《完美软件对软件测试的各种幻想》 18.《 Python Web开发:测试驱动方法》 19.《测试驱动开发的艺术》 20.《软件测试工程师面试指导》 21.《自动化测试最佳实践来自全球的经典自动化测试案例解析》 22.《Cucumber:行为驱动开发指南》 23.《Web安全测试 》 24.《大话移动APP测试:Android与 iOS应用测试指南》 25.《iOS测试指南》 26.《全程软件测试(第2版)》 27.《 JUnit实战》 28.《 xUnit测试模式 》 29.

《CLR via C#》笔记——异常和状态管理

这一生的挚爱 提交于 2020-08-15 07:59:05
目录 一 ,定义异常 二,异常处理机制 2.1 try块 2.2 catch块 2.3 finally块 2.4 CLS和非CLR异常 三,System.Exception类 四,抛出异常 五,自定义异常类 六,用可靠性换取开发效率 七,指导原则和最佳实践 7.1 善用finally块 7.2 不要什么都捕捉 7.3 得体的从异常中恢复 7.4 从不可恢复的异常中回滚——维持状态 7.5 隐藏实现细节来维持契约 八,未处理异常 九,约束执行区(CER) 十,代码契约 一,定义异常 什么时候应该抛异常?当一个类型的成员(如方法,属性)不能完成任务时,就应抛出异常。面向对象的编程大大提高了开发人员的效率,因为我们可以这样写代码: public bool TestFunc( string input) { return input.Substring( 1 , 1 ).ToUpper().EndsWith( " E " ); } 我们没有做任何的参数检查,而直接调用了一长串的方法。当input参数为null或空时,上面的代码就会抛出异常。即使方法为没有返回值的void型也应该报告错误,.Net Framework提供的这种机制就叫做 异常处理( excepton handling ) 。 二,异常处理机制 .Net Framework异常处理机制是用Windows提供的结构化异常处理

旧 WCF 项目迁移到 asp.net core + gRPC 的尝试

送分小仙女□ 提交于 2020-08-15 07:49:17
一个月前,公司的运行WCF的windows服务器down掉了,由于 AWS 没有通知,没有能 第一时间 发现问题。 所以,客户提出将WCF服务由C#改为JAVA,在Linux上面运行;一方面,AWS对Linux有较多的监控措施,另一方面,假如出现问题,可以设置自动重启等服务。 老旧的WCF服务 目前WCF服务,主要提供windows桌面软件的 数据接口 ,应该有五六年的历史了。我进入公司后,WCF服务的代码,一直由我一个人来维护。存在很多 历史遗留问题 ,也有 不同版本 的共存。 如果java重写的话,其中的业务逻辑代码,难免会出现各种各样的bug,增加开发和测试的工作量。听说,要移植到linux服务上后,第一时间想到的就是 跨平台 的 .net core 。 .net core 经过了四年的发展,到目前的 3.1 LST版本,已经是 非常成熟 的跨平台解决方案了。 之后,我就在网上查找,有没有WCF的.net core 版本,查询到的信息总结如下: Core WCF不打算做WCF到.NET Core的100%兼容的移植; 对于新应用程序,WCF这种SOAP技术不建议使用; 对于老的应用程序,建议将这些保留在.NET Framework上; 如果您真的想将一个旧的应用程序迁移到.NET Core并且想继续使用WCF和WF, 社区的开源项目也是可以的