问题现象: IIS部署的asp.net core服务,前端进行一些操作后,经常需要重新登陆系统。 初步分析: 根据日志,可以看到服务重新进行了初始化,服务重启应该与IIS应用程序池回收有关,查看IIS相关日志,在windows的事件查看器=>Windows日志=>系统,来源为WAS的日志(参考博客) ...
什么是键控服务依赖注入? 在之前的依赖注入中,服务是根据其类型进行注册和解析的。如果出现同一接口有多个实现怎么办呢?这时候就可以使用.NET 8的新功能“键控服务依赖注入”。它允许您注册接口的多个实现,每个实现都与一个唯一键相关联,然后基于该键解析所需的实现。 在.NET 8 中的实现 接下来介绍如 ...
.NET中有多少种定时器一文介绍过.NET中至少有6种定时器,但精度都不是特别高,一般在15ms~55ms之间。在一些特殊场景,可能需要高精度的定时器,这就需要我们自己实现了。本文将讨论高精度定时器实现的思路。 高精度定时器 一个定时器至少需要考虑三部分功能:计时、等待、触发模式。计时是进行时间检查 ...
WebAPI部署到IIS 1 开启IIS功能 控制面板->程序->程序和功能->启用或关闭Windows功能,以下打勾: 2 下载对应版本的dotNet Core 本文为ASP .NET Core6.0版本,需下载对应6.0版本的运行时,下载地址:https://dotnet.microsoft.c ...
上篇文章讲述了C#处理文件系统I/O知识点,本文将介绍C#网络编程知识点。随着信息技术的不断发展,网络编程在.NET开发中变得愈发重要。无论是构建Web应用、实现实时通信,还是处理分布式系统,C#网络编程都是必备的技能。以下是.NET开发者在网络编程中应该掌握的关键知识点。 一、http请求知识点 ...
老周是一个不喜欢做界面的码农,所以很多时候能用控制台交互就用控制台交互,既方便又占资源少。有大伙伴可能会说,控制台全靠打字,不好交互。那不一定的,像一些选项类的交互,可以用键盘按键(如方向键),可比用鼠标快得多。当然了,要是要触控的话,是不太好用,只能做UI了。 关于控制台交互,大伙伴们也许见得最多 ...
使用过visio的都知道,在绘制流程图时,当选择或鼠标移动到控件时,都会在控件的四周出现锚点,以便于修改大小,移动位置,或连接线等,那此功能是如何实现的呢?在WPF开发中,想要在控件四周实现锚点,可以通过装饰器来实现,今天通过一个简单的小例子,简述如何在WPF开发中,应用装饰器,仅供学习分享使用,如... ...
在C#语言中,LINQ是一种强大的查询语言,用于在.NET应用程序中对各种数据源执行查询操作。其中,Range和Repeat是两个在LINQ中常用的方法,它们分别用于生成一系列连续的数字和重复指定的元素。有时候会把这两个方法混淆,本文将深入探讨这两个方法的用法和应用场景。 1、Range方法 Ran ...
VS2022之后,其实还挺好用的,但个人还是习惯VS+Resharper的强强组合,尤其是Ctrl+N快捷键的全局搜,比VS自带的Ctrl+T好用太多了,Ctrl+B还能直接查看反编译之后的dll的方法。下面是常用VS快捷键,收藏记录下。 1、项目快捷键CTRL + SHIFT + B生成解决方案C ...
.NET Core MVC基础之返回文件类型 前言 上一篇文章讲了基础的返回类型,这篇文章讲解如何返回文件类型给浏览器下载。 系列文章 .NET MVC基础之页面传值方式 通过图片流来返回图片 返回类型介绍 在返回文件之前,要知道MIME 类型,这里介绍常用的几种: text/plain:纯文本 ...
一年又快结束,疫情似乎已经离去,但是最近的感冒又让人感受到了一丝不安~ 回顾着过往几年,一个词形容:浑浑噩噩。 总结着 2023 年,有开心,有憧憬,有遗憾,有成长,但如果用一个词的话,我觉得是:寻找 ...
1、Blazor Hybrid简介 Blazor Hybrid 使开发人员能够将桌面和移动本机客户端框架与 .NET 和 Blazor 结合使用。在 Blazor Hybrid 应用中,Razor 组件在设备上是本机运行的。 这些组件通过本地互操作通道呈现到嵌入式 Web 视图控件。 组件不在浏览器 ...
本篇将分享Prometheus+Grafana的监控平台搭建,并监控之前文章所搭建的主机&服务,分享日常使用的一些使用经验本篇将配置常用服务的监控与面板配置:包括 MySQL,MongoDB,CLickHouse,Redis,RabbitMQ,Linux,Windows,Nginx,站点访问监控,已... ...
前言 上一篇,我们实现了基于 DotNetty 的通信基础模块的搭建,本篇,主要实现待发布 Web 项目的集成。 创建待发布项目 为了测试, 我创建了一个基于 .NET 4.8 的 Web 项目 OpenDeploy.TestWebProject 我本机的代码仓储路径是: D:\Projects\B ...
Options是微软提供的选项模块,该模块依赖于容器使用。除了微软的IServiceCollection,当然也可以使用其它的依赖注入容器。本文演示如何在prism中使用Options。 创建应用项目 创建一个Avalonia应用(或其它类型应用),然后使用NuGet包管理器添加Prism.DryI ...
上篇文章讲述了C#多线程知识点,本文将介绍C#处理文件的知识点。在.NET开发领域,文件系统I/O是一个至关重要的主题,尤其是在处理文件、目录和数据存储方面。C#作为.NET平台的主要编程语言,提供了丰富而强大的文件系统I/O功能,为开发人员提供了灵活的工具,使其能够高效地处理文件操作。本文将介绍C ...
一、条件 1、windows server主机一台,我是windows server 2019(当然windows10或者10月份5日更新的windows11也是可以行的)。 2、SQL Sever,我用的是SQL Server2019。 3、Power BI Report Server默认位置安装 ...
简介 从C# 3.0起很少需要自己声明委托。System.Func 是一个泛型委托,它可以表示带有返回值的方法。它可以接受一个到多个输入参数,并返回一个指定类型的结果。System.Func 委托的最后一个类型参数表示方法的返回值类型。而System.Action系列代表返回void的方法。 Fun ...
在繁华的都市中,小悦作为一名软件工程师,每天都在这座钢筋水泥的森林里忙碌。她的生活似乎被工作和各种琐碎的事情填满了,但在这个繁忙的生活中,她总能在工作之余找到一些小小的乐趣。 这天下班后,小悦收到了一封来自国外同学苏菲的email。邮件的内容让她的思绪一下子飘回了那个学习汇编语言的大学时代。 苏菲是 ...
选项用来提供对相关设置的强类型访问,读取配置首选使用选项模式。选项无法脱离容器使用,依赖容器,实现了选项不同的访问方式。选项模式使用了泛型包装器,因此具备了如下优点: 不需要显示注册选项具体类型,只需要将泛型包装器注入到容器中; 对于选项实例的评估推迟到获取IOptions.Value时进行,而不是 ...