
C#
MartinYangHJ
我的一天天
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
.NET 4.7中使用NLog记录日志到数据库表
本文介绍了如何配置NLog将登录日志记录到数据库。主要步骤包括:1)安装NLog和数据库驱动NuGet包;2)配置NLog.config文件,设置数据库连接和插入语句,支持同步/异步记录;3)创建数据库表结构;4)编写代码通过NLog记录登录信息,区分成功/失败日志;5)提供调用示例。配置过程详细说明了XML配置参数,包括日志级别、参数映射等,并展示了如何使用LogEventInfo对象记录自定义属性(如用户名)。该方案适用于需要持久化存储登录审计日志的场景。原创 2025-06-20 15:39:54 · 266 阅读 · 0 评论 -
在.NET Core控制器中获取AJAX传递的Body参数
文章摘要: 本文针对.NetCore前后端不分离系统中集成新语言服务时的权限控制问题,提出通过.NetCore接口转发的解决方案。文中列举了四种接收前端JSON请求的方式:1)使用FromBody特性绑定强类型模型;2)动态类型接收不确定参数;3)手动读取Request.Body;4)JObject解析JSON数据。重点解决了新服务无法直接获取用户权限信息的问题,同时保留了前端通过ajax(示例代码)直接调用新旧接口的能力,实现了系统的平滑扩展。原创 2025-06-06 14:10:52 · 652 阅读 · 0 评论 -
使用 FluentScheduler 5.1.3.0 设置每周一下午14点执行任务
如果你希望工作在今天(星期一)的14:00首次运行,而不是等待整整一周,可以使用以下调度设置:Schedule<MyJob>().ToRunEvery(0).Weeks().On(DayOfWeek.Monday).At(14,0);。这将确保工作在今天的指定时间立即启动。如果你希望工作在下周一首次运行,以确保至少已经过去了一周,则应使用:Schedule<MyJob>().ToRunEvery(1).Weeks().On(DayOfWeek.Monday).At(14,0);。这将原创 2025-05-19 13:38:13 · 133 阅读 · 0 评论 -
C#将1GB大图裁剪为8张图片
在处理1GB以上的超大图片时,C#开发者需要特别注意内存管理和性能优化。本文介绍了四种高效的裁剪方案:1. 使用System.Drawing进行分块处理,通过流式处理避免全图加载;2. 使用ImageSharp库,支持跨平台且内存优化;3. 利用内存映射文件处理BMP格式的超大图,减少内存占用;4. 使用Magick.NET进行专业图像处理,功能强大但需要额外安装。每种方法都有其优缺点,开发者应根据具体需求选择合适的方案。此外,处理过程中需注意内存管理、文件格式、磁盘空间和性能优化等问题,确保程序稳定运行。原创 2025-05-16 16:27:56 · 488 阅读 · 0 评论 -
C# new Bitmap(32043, 32043, PixelFormat.Format32bppArgb)报错:参数无效,如何将图像分块化处理?
C#处理非常大的图像(如 32043x32043 像素)时,确实需要采取分块化处理的方法来避免内存不足的问题。分块化处理可以将大图像分割成多个较小的块,分别进行处理和保存,最后再合并这些块以形成完整的图像。MergeChunksIntoSingleImage 方法遍历所有块,并将它们合并成一个完整的图像。创建和处理块:遍历整个图像区域,逐块创建、处理并保存每个块。定义块大小:选择合适的块大小,确保每个块可以在内存中处理。合并块:如果需要,可以将这些块合并成一个完整的图像文件。保存合并后的完整图像。原创 2025-04-24 09:45:33 · 437 阅读 · 0 评论 -
C#计算经纬度两点之间距离代码示例
在C#中,可以通过多种方法计算两个经纬度之间的距离。原创 2025-04-01 14:44:04 · 507 阅读 · 0 评论 -
C#运算符“/”使用方法
要想保留小数部分,需要将至少其中一个操作数转换为float、double或者 decimal 类型。这样做可以告诉编译器你希望得到一个包含小数部分的精确结果。C#中,当需要对两个整数进行除法运算时,结果会被截断为整数部分,即使结果本应是一个小数。这是因为整数除法会丢弃小数部分,只保留整数部分。原创 2024-05-06 17:00:47 · 5771 阅读 · 0 评论 -
Winform、WPF如何解决前端卡死问题
Winform、WPF如何解决前端卡死问题原创 2024-01-05 15:41:17 · 1594 阅读 · 0 评论 -
C#登录后携带cookie爬取数据
前一段时间,公司以前的一个数据采集任务突然之间采集下来的数据都是0了,也就是未登录状态能够获取到的数据,于是猜想肯定是网站的服务升级了,升级了数据接口的逻辑,于是便开始解决此问题。3.在第2步中ContentType 和UserAgent 需要与登录获取cookie一致。此采集程序是由.net core开发,采用Quartz定时任务定时采集数据。2.打开需要爬取的网页时,将拿到的cookie放到打开网页的request中。1.首先从登录url拿到cookie,然后保存至内存中。原创 2023-08-08 14:24:16 · 1549 阅读 · 0 评论 -
C#使用ClosedXML读写excel
首先使用NuGet安装ClosedXML,然后在程序中添加引用ClosedXML.Excel;1.导出数据到Excel。2.从Excel读取数据。原创 2022-07-22 17:39:12 · 2815 阅读 · 0 评论 -
Winform多线程解决页面卡死
1.创建一个TipReFresher类,包含一个Action委托2.Winform调用原创 2022-07-12 14:59:28 · 2029 阅读 · 0 评论 -
Net Core运行Quartz,不使用配置文件
1.NuGet添加包引用点击安装。2.建立Job任务程序using Quartz;using System.Threading.Tasks;namespace Practice.Jobs{ //DisallowConcurrentExecution能保证上一个周期的任务还没执行完之前,下一个周期到来了就会被忽略 [DisallowConcurrentExecution] public class WeatherJob : IJob {原创 2022-05-11 17:15:56 · 383 阅读 · 0 评论 -
Net Core使用Redis
Net Core操作redis原创 2022-05-11 15:48:18 · 2048 阅读 · 0 评论 -
WPF命名空间clr-namespace:xxx中不存在“XXX”名称
在WPF项目中,自定义类明明存在,VS还是提示“WPF命名空间clr-namespace:xxx中不存在“XXX”名称”,如何解决此问题呢?1.清理并重新生成项目2.项目工程右键属性------生成------目标平台:切换目标平台,保存!然后清理解决方案!重新生成解决方案!...原创 2022-04-21 18:04:18 · 13976 阅读 · 4 评论 -
Net Core+swagger+Vue+axios webapi请求时参数长度过大
如下:export default { name: "longParam", data() { return { model: { id:'', name:'', content:'' } }; }, methods: { //model作为参数调用接口,后天用实体接收 addModel: function() { var that = this; axios原创 2022-04-02 17:01:47 · 4066 阅读 · 0 评论 -
Net Core +swagger+Vue+axios+Npoi导出excel
代码如下:Net core后台代码: public ActionResult ExportData(string condition) { List<Model> models = modelBLL.GetModelList(condition); var workBook = new HSSFWorkbook(); var sheet = workBook.CreateSheet("导出数原创 2022-03-31 16:36:43 · 2496 阅读 · 0 评论 -
Net Core swagger使用NPOI导出为excel
代码如下: public async void ExportData(string condition) { List<Model> models = modelBLL.GetModelList(condition); var workBook = new HSSFWorkbook(); var sheet = workBook.CreateSheet("导出数据"); ...原创 2022-03-31 16:07:31 · 1422 阅读 · 0 评论 -
.Net 6 实现对端口的监控
var builder = WebApplication.CreateBuilder(args);// Add services to the container.builder.Services.AddRazorPages();//使用WebHostbuilder.WebHost.UseKestrel(so => { //实现对特定端口的监控 so.ListenAnyIP(1234); so.Limits.MaxConcurren.原创 2022-03-09 14:40:23 · 972 阅读 · 0 评论 -
Newtonsoft.Json Sample文档
在.Net使用Newtonsoft.Json时,有时会需要查阅一些使用方法,现给出其官方文档。文档地址:Sampleshttps://www.newtonsoft.com/json/help/html/Samples.htm原创 2022-03-09 10:51:23 · 344 阅读 · 0 评论 -
ASP.NET Core 配置跨域(CORS)
1.在 Startup类的ConfigureServices方法里,添加如下代码:services.AddCors(option=> option.AddPolicy("cors", policy => policy.AllowAnyHeader() .AllowAnyMethod() .AllowCredentials() .WithOrigins(new []{"http://123.xyz.c原创 2022-03-08 14:40:10 · 1442 阅读 · 0 评论 -
Net Core AES加密
Net Core AES加密 /// <summary> /// AES加密,并且有向量 /// </summary> /// <param name="encrypteStr">需要加密的明文</param> /// <param name="key">秘钥</param> /// <param name="vector">原创 2022-03-02 10:57:34 · 1514 阅读 · 0 评论 -
Net Core使用3DES算法加解密
public string key = "99BA5433DF5FA898C8E078B8BA55F251"; public byte[] iv = {1,2,3,4,5,6,7,8}; SymmetricAlgorithm symmetricAlgorithm = new TripleDESCryptoServiceProvider(); /// <summary> /// Des加密 /// ...原创 2022-03-01 16:29:23 · 802 阅读 · 1 评论 -
EntityFrameworkCore使用Scaffold-DbContext快速从数据库生成模型
1.使用Scaffold-DbContext命令需要在项目中安装以下依赖:(1)Microsoft.EntityFrameworkCore(2)Microsoft.EntityFrameworkCore.Tools(3)Microsoft.VisualStudio.Web.CodeGeneration.Design(4)SQL Server数据库安装 Microsoft.EntityFrameworkCore.SqlServer 包MySQL安装 MySql.Data.E...原创 2022-02-18 11:04:27 · 854 阅读 · 0 评论 -
.Net Core使用log4net
一、首先在项目中添加log4net的引用,这里不再展示二、log4net.config配置代码如下:<?xml version="1.0" encoding="utf-8"?><configuration><log4net debug="true"><logger name="Logger"><!--<priority value="ALL"/>--><level value="ALL"/><!-原创 2021-12-30 15:52:32 · 2908 阅读 · 0 评论 -
.Net Core使用Quartz
一、配置文件quartz.config: # You can configure your scheduler in either <quartz> configuration section# or in quartz properties file# Configuration section has precedencequartz.scheduler.instanceName = QuartzTest# configure thread...原创 2021-12-30 15:12:24 · 1058 阅读 · 0 评论 -
C# base64生成图片
base64字符串不包含data:image/jpeg;base64 private void button1_Click(object sender, EventArgs e) { string base64 = this.textBox1.Text; byte[] bytes = Convert.FromBase64String(base64); using (MemoryStream memoryStream = new MemoryStream(bytes.原创 2021-02-25 10:28:05 · 441 阅读 · 0 评论 -
.Net Core MVC 获取ini文件数据
Cnfig.ini文件内容:[connectionString]mysql="server=localhost;database=my;uid=root;pwd:root"[url]url="baidu.com"port="http://*:9000"获取数据: public static IConfiguration Config = (new ConfigurationBuilder()).SetBasePath(Environment.CurrentDirectory).Ad原创 2021-02-23 16:40:07 · 726 阅读 · 0 评论 -
.Net Core MVC 导出为CSV
public IActionResult ExportToCsv() { string res = GetShipTrack();//此处仅用于测试 JObject jobject = (JObject)JsonConvert.DeserializeObject(res); StringBuilder sb = new StringBuilder(); sb.Append("时...原创 2021-02-23 14:54:15 · 999 阅读 · 1 评论 -
Asp.Net Core MVC 使用Aspose.Cells从Excel获取数据
视图中的代码: <div class="gcs-login-panel" style="height: 200px;"> <div class="gcs-login-container"> <input id="file" type="file" placeholder="请输入用户名" class="input" accept=".xlsx,.xls" />原创 2021-02-04 12:45:12 · 858 阅读 · 0 评论 -
Asp.Net Core Mvc 获取程序运行路径
在Controller中修改构造函数如下:private readonly ILogger<HomeController> _logger;private IWebHostEnvironment _webHostEnvironment;public HomeController(ILogger<HomeController> logger, IWebHostEnvironment hostEnvironment){ _logger = logger; ...原创 2021-02-04 12:37:38 · 722 阅读 · 0 评论 -
使用NPOI读取word中table的数据
public void GetDataFromWordTable(newPath){ FileStream stream = new FileStream(newPath, FileMode.Open); XWPFDocument doc= new XWPFDocument(stream); tables = doc.Tables; XWPFTable table = tables[0]; string num = table.Rows[0].G...原创 2020-12-03 15:57:25 · 2082 阅读 · 0 评论 -
“System.Web.Http.GlobalConfiguration”的类型初始值设定项引发异常。
解决该错误的方式为: 在NuGet程序包中找到 Microsoft.AspNet.WebApi,然后安装,重新启动即可。请参考此篇文章:http://wp.sjkp.dk/webapi-and-cors-enabled-rest-services/原创 2020-11-11 15:47:58 · 936 阅读 · 0 评论 -
继承式开发问题一
在进行继承式开发的过程中,如果Update()方法中传进来的参数是DataSet,并且在方法中需要先执行父类的方法,可是父类会将传进来的DataSet中的某一个DataTable改变,但是,在子类的Update()方法中还需要这个DataTable,这时,需要先将DataSet中的这一个DataTable读取出来,然后在执行完毕父类之后,再将这个DataTable添加到DataSet中即可。例原创 2015-10-14 13:22:40 · 431 阅读 · 0 评论 -
在本地发布网站
如果需要在本地发布一个网站,需要打开IIS服务,在IIS服务中发布。下面以Win7为例说明。1.首先打开控制面板,选择“管理工具”2.打开“管理工具”下的“Internet信息服务(IIS)管理器”3.打开IIS服务后,在下图所示处点击右键,选择“添加网站”4.在打开的界面填写相关信息即可原创 2015-10-28 11:00:19 · 373 阅读 · 0 评论 -
ToolStripMenuItem
ToolStripMenuItem不是一个控件,而是菜单栏控件(MenuStrip)或右键菜单(ContentMenuStrip控件)中的菜单项,当然不会在工具箱中显示了。原创 2016-03-23 12:01:32 · 4642 阅读 · 0 评论 -
将焦点放到某一列上
advBandedGridView1.FocusedColumn = advBandedGridView1.VisibleColumns[VisibleColumnsIndex];或者advBandedGridView1.FocusedColumn = advBandedGridView1.Columns["Country"];原创 2016-05-06 14:08:53 · 380 阅读 · 0 评论 -
Convert.ToInt16、Convert.ToInt32和Convert.ToInt64
在C#的Convert基类中, ToInt16、ToInt32、ToInt64是以相似的方式进行声明的,如下所示: public static short ToInt16(bool value); public static int ToInt32(bool value); public static long ToInt64(bool value);原创 2016-07-15 17:06:44 · 7644 阅读 · 0 评论 -
如何遍历Hashtable
protected void TraHashtable () { int key=0; string value=""; Hashtable hash = new Hashtable(); hash.Add(1,"one"); hash.Add(2,"two");原创 2016-06-21 09:57:22 · 298 阅读 · 0 评论 -
VS代码段快捷键
以下的是IDE的默认键盘映射方案调试快捷键F4: 转到输入窗口F6: 生成解决方案Ctrl+F6: 生成当前项目F7: 查看代码Shift+F7: 查看窗体设计器F5: 启动调试Ctrl+F5: 开始执行(不调试)Shift+F5: 停止调试Ctrl+Shift+F5: 重启调试F9: 切换断点Ctrl原创 2016-09-02 15:05:40 · 767 阅读 · 0 评论 -
未在本地计算机上注册OraOLEDB.Oracle.1的程序
一、现象: C#程序中需要以Provider=OraOLEDB.Oracle.1方式访问ORACLE数据库。但程序执行时报异常:未在本地计算机注册“OraOLEDB.Oracle.1”的程序二、解决方法 服务器ORACLE为11g。需要人工命令行注册一下,打开CMD,然后输入以下代码: regsvr32 D:\app\yanghongjie\product原创 2016-09-18 15:09:24 · 9559 阅读 · 0 评论