最新文章
|
知识管理交流
→『 技术文档交流 』
本版文数:7513 今日文数:2456
|
我们知道,TCP/IP提供了通过IP地址来连接到设备的功能。但对用户来讲,记住某台设备的IP地址是相当困难的,因此,有人专门设计了一种字符串形式的主机命名机制,这些主机名与IP地址相对应。在IP地址与主机名之间需要有一种转换和查询机制,提供这种机制的系统就是域名系统DNS(DomainNameSystem)。作为互联网...
|
前言主要通过p2p技术来实现两台(也可以多台)内网电脑一个异地组网,两台不同环境内网电脑无法直接访问这里我们就需要使用p2p技术来实现异地组网。什么是异地组网?异地组网可以将分布在不同物理位置的节点连接起来,形成一个统一的网络,使得这些节点可以像在同一个物理网络中一样进行通信和数据交换。日常使用作用是什么?日常无非就是...
|
在开发Windows桌面应用程序(WinForms)时,一个常见的需求是将所有依赖项打包到一个单独的可执行文件中,以便用户可以轻松地运行程序,而无需安装任何额外的依赖库。Costura.Fody是一个流行的工具,它允许开发者将依赖项嵌入到主可执行文件中,从而实现这一目标。什么是Costura.Fody?Costura....
|
今天给大家介绍一款开源、国产的Web防火墙工具——雷池(SafeLine)。简介这是一款简单、轻量且安全的WAF。基于Nginx开发并作为反向代理连接,保护您的Web应用程序免受常见攻击和漏洞利用。战绩目前在GitHUB上有10kstar,已经应用于100万个网站上。累计安装量超过13万台保护超过1,000,000个网...
|
在日常业务中经常会遇到上传大文件的需求(如上传一部3G大小的高清电影资源),如果大文件资源上传不做特殊处理而直接使用小文件上传的方式上传到服务,可能会出现如网络不好导致上传一半就失败了,服务内存不够导致无法上传等等一些问题。那么这个特殊处理是什么处理呢?其实就是大文件的分片上传。大文件分片上传需要前后端协作来完成,前端...
|
前言XML是ExtensibleMarkupLanguage的简称,用于存储和传输数据的可扩展标记语言。它被应用在数据交换、数据存储、Web服务、网络协议等场景。XML具有可扩展性、结构化、标准化、简单易读等几个特点。基本结构XML基本结构包括文档声明、根元素、子元素、属性、注释、处理指令等部分。<?xmlversio...
|
引言字符串是编程中使用较广的一种数据,它由数字、字母、下划线等组成。在使用过程中会对字符串进行格式化。在C#语言中,.NET6及以上使用字符串插值($""语法)对字符串格式化。$语法.NET6及以上提供的一种新的语法糖,它的作用相当于对String.format的简化。使用$可以将字符串字面量标识为...
|
在C#编程中,NULL是一个特殊的值,表示引用类型没有引用任何对象。正确处理NULL值对于防止程序崩溃和提高软件的健壮性至关重要。本文将探讨在C#中如何处理NULL值,并提供一些实用的例子代码。1.NULL合并运算符(??)C#提供了NULL合并运算符(??),它允许你为可为NULL的变量提供一个默认值。当变量为NUL...
|
在软件开发中,调用第三方接口是常见的需求。这些接口为我们提供了丰富的数据和功能,使我们能够快速地构建出复杂而强大的应用。然而,在这个过程中,也可能会遇到一些“坑”。下面,我将分享一些在调用第三方接口时的经验与教训,并提供C#的示例代码。常见的“坑”接口文档不清晰或过时:有时,第三方提供的接口文档可能不够详细,甚至存在过...
|
导读在日常工作中我们需要将本地的某些端口如22803306等端口分享。让别人或者不在同一局域网内的设备访问。我们需要端口映射(内网穿透)的方式让其暴露在公网,以便访问。本文为大家总结常用内网映射的工具和方法,进行简单的总结。希望对你有所帮助。FRPfrp是一款主流的端口映射工具。笔者也一直在使用。部署简单、并且支持仪表...
|
什么是打洞在NAT1网络下,我们可以通过一种“打洞”的方式,将本地的TCP端口暴露至公网上,运行HTTP服务等。通过Natter打洞+防火墙的转发规则。我们可以方便地将内网设备暴露在公网。实验环境路由器(软路由)Centos7(内网主机)检验网络首次使用,检查当前网络NAT情况。我们首先克隆项目到本地环境。gitclo...
|
在当今这个数字化高速发展的时代,应用程序的性能监控和调试显得尤为重要。为了有效地跟踪和解决可能出现的问题,开发者们需要一款强大且灵活的监控工具。WatchDog正是为了满足这一需求而诞生的开源项目,它使用C#语言开发,专注于为ASP.NetCoreWeb和WebApi应用提供实时监控功能。一、实时监控的核心功能Watc...
|
前言多线程是C#中一个重要的概念,多线程指的是在同一进程中同时运行多个线程的机制。多线程适用于需要提高系统并发性、吞吐量和响应速度的场景,可以充分利用多核处理器和系统资源,提高应用程序的性能和效率。多线程常用场景CPU密集型任务.I/O密集型任务.并发请求处理.大数据处理等.什么是进程?进程(Process)是计算机中...
|
在.NET中,异步(Asynchrony)和并行(Parallelism)是两个不同但相互关联的概念,用于处理并发操作。以下是它们之间的主要区别和用法:异步编程定义:异步编程允许应用程序在等待I/O操作(如文件读写、网络请求或数据库查询)完成时释放线程,而不是阻塞线程直到操作完成。这提高了应用程序的响应性和吞吐量。关键...
|
在.NET6中,自动注册服务通常意味着你希望在不手动调用builder.Services.Add*方法的情况下,将服务添加到依赖注入(DI)容器中。这可以通过几种方式实现,包括使用反射、约定、或者第三方库。下面是一些策略来实现自动注册服务:1.使用反射扫描并注册服务你可以编写一个方法来扫描程序集中的所有类型,并自动注册...
|
在C#中,dynamic关键字为开发者提供了一种灵活的方式来处理那些类型在编译时未知的对象。通过使用dynamic,我们可以编写代码,就好像我们知道对象的类型一样,而实际上类型解析和绑定将在运行时进行。这为我们处理来自动态语言、COM互操作、JSON对象、XML文档或其他需要动态处理类型的场景提供了极大的便利。然而,使...
|
在C#中,Invoke()是一个用于调用方法的方法,它能够在运行时动态地调用一个方法。Invoke方法主要用于以下几种场景:1.委托的Invoke:委托是C#中的一种类型,它表示引用方法的对象。你可以通过委托来调用(或“调用”)它所引用的方法。Invoke方法用于显式地调用委托所引用的方法。delegatevoidMy...
|
前言C#语言是一种强类型语言,要求每个变量都必须指定数据类型。C#语言的数据类型分为值类型和引用类型二种。在实际编写程序时,经常会对二个数据进行比较其是否相等。C#语言为我们提供了==运算符与Equals方法。在应用这二种方式时是存在一些区别的,下面就一起了解两者有什么区别。值类型相等对于预定义的值类型,二个操作数的相...
|
前言当下编写应用程序都流行前后端分离,后端提供对应服务接口给前端或跨应用程序调用,如WebAPI等。在调用这些服务接口发送HTTP请求,而.NET为我们提供了HttpWebRequest、HttpClient几个类库来实现。下面对C#使用HttpClient类发送HTTP请求数据的几种格式。HttpClientHttp...
|
前言在.NET中有ToString()和Convert.ToString()两个方法,它们都可以用于将对象转换为字符串。然而,它们存在不同的用法和表现。了解这两种方法之间的差异,可以帮助我们选择适合需求的方法。本文介绍这两种方法及其差异。ToString()ToString()方法是Object类的成员,在各种数据类型...
|
引言在项目开发过程中,偶尔需要获取计算机环境信息,如操作系统、部分硬件等。根据获取的信息配置不同逻辑、提供硬件选择(如打印机、摄像头等)。本文将介绍几个常用的获取计算机或硬件信息方式。系统1、获取操作系统信息///<summary>///操作系统信息///</summary>///<returns></returns>...
|
前言Windows服务是运行在后台的应用程序,可以设置其在系统启动时自动运行,并在系统运行期间持续运行。这种应用程序没有用户界面,也不产生可视输出。通过服务控制管理器进行终止、暂停、启动的管理。本文将介绍派生自ServiceBase类的方式创建与部署Windows服务内容。ServiceBase类ServiceBase...
|
零代码是什么?顾名思义,零代码是指不通过编写代码去实现应用系统的搭建,这种开发形式为不具备编程技术能力的普通人赋予了开发能力。这里举个建房子的例子就更好理解:传统代码开发就像自己从0-1建房子,需要做设计、打地基、搭建建筑主体框架结构、再装修,优点是你可以完全按照自己的想法去搭建,缺点是这需要很强的专业建筑能力、漫长的...
|
在现代软件开发中,API(应用程序接口)的安全性至关重要。随着网络攻击的不断增多,对API进行加密已经成为保护数据传输的标配。本文将介绍如何在C#中快速实现API加密,以确保你的数据传输安全。一、为什么需要API加密API加密是保护数据传输的重要手段。当数据在客户端和服务器之间传输时,如果没有加密,那么数据很容易被中间...
|
摘要:Web应用程序中经常使用数据分页技术,该技术是提高海量数据访问性能的主要手段。实现web数据分页有多种方案,本文通过实际项目的测试,对多种数据分页方案深入分析和比较,找到了一种更优的数据分页方案Row_number()二分法。它依靠二分思想,将整个待查询记录分为2部分,使扫描的记录量减少一半,进而还通过对数据表及...
|