老徐的自留地

时光在笔尖流淌

分类 编程 下的文章

December 25, 2018

.net下发送Email的Helper类

一、适用场景前段时间因为业务需要自动给客户发送支持HTML格式的而且带附件的Email,而且使用的还是Office365邮箱,就抽时间看了一下这方面的内容,并写了这个帮助类。该类是使用的SMTP服务发送Email,可以支持OFFICE365等邮箱,支持SSL、HTML邮件、附件等。目前未启用加密的常规发送和使用Office365邮箱发送都已经测试通过。该代码目前是使用在.net 4.0环境下...
September 8, 2018

在.Net Core 2.1下使用SkiaSharp进行图片处理

在.Net Core下,没有可以支持跨平台的Drawing类库,官网提供的Common.Drawing只能在Windows下使用,那么在.Net Core下该如何处理图片呢?其实有很多第三方提供了解决方案,而我比较喜欢用的是Mono团队提供的SkiaSharp,原因是稳定而且支持的也很好,性能上也还好。一、SkiaSharp是什么?1.Skia介绍Skia是Google旗下的2D图形处理库,...
July 4, 2018

.Net Core 2.1下,使用Oracle数据库

在.Net Core 2.1下,可以通过Dapper框架非常方便的使用Sql Server、MySQL、PostgreSQL等数据库,但是使用Oracle数据库就没那么方便了,比如执行存储过程的时候返回的游标,就没有对应的类型,另外还需要Oracle的驱动等等。经过了几天的查阅资料,现在整理下在.Net Core 2.1下通过Dapper使用Oracle数据库的方法。首先是连接数据库,方法与...
May 19, 2018

ASP.Net Core 2.0 在Linux下连接SQL Server数据库问题

在ASP.Net Core 2.0下,通过Dapper来使用SQL Server数据库,在Windows系统下完全正常,而部署到Linux服务器上会出现连不上数据库的情况,从日志里看,报下面的错误:Connection Timeout Expired. The timeout period elapsed during the post-login phase. The connecti...
May 18, 2018

关于ASP.NET MVC中使用Forms验证的问题

表单验证(Forms验证)是一个基于票据(ticket-based)[也称为基于令牌(token-based)]的系统。这意味着当用户登录系统以后,他们得到一个包含基于用户信息的票据(ticket)。这些信息被存放在加密过的cookie里面,这些cookie和响应绑定在一起,因此每一次后续请求都会被自动提交到服务器。当用户请求匿名用户无法访问的ASP.NET页面时,ASP.NET运行时验证这...
May 13, 2018

ASP.NET Core 2.0下使用log4net记录文件日志

我们知道log4net的日志功能非常强大,而使用方法也比较复杂;在ASP.NET Core 2.0下,可以通过一个第三方的扩展方法来降低我们的使用难度,具体使用方法如下:我们先新建一个自己的静态类Log4Net,用于之后调用记录日志: public static class Log4Net { private static readonly log4net.ILog log =...
May 9, 2018

ASP.NET Core 2.0 WebAPI 跨域问题

关于 asp.net core 2.0 webapi的跨域,我们这里使用CORS来实现,不使用旧的JSONP,可以这样配置:打开 Startup.cs文件,转到ConfigureServices(IServiceCollection services) 中,增加:services.AddCors(options => { options.AddPolicy("AnyO...
May 2, 2018

ASP.NET Core 2.0下使用Redis——基于CSRedis实现

前几天挖了个坑,今天就来填这个坑了。关于在ASP.NET Core 2.0下使用Redis的问题,目前StackExchange.Redis已经支持.Net Core 2.0了,而微软提供的Microsoft.Extensions.Caching.Redis.Core方法,也是对StackExchange.Redis的一种官方封装,是基于StackExchange.Redis的,但是大家反映...
October 12, 2017

.Net网站下使用Oracle数据库的环境设置

在.Net网站下使用Oracle,需要网站服务器安装Oracle数据库的客户端,这是目前必须要安装的。以下是在Windows Server 2008 R2服务器环境下的设置方法及注意事项,其他系统可能会略有不同。1.服务器需要安装Oracle数据库的客户端,版本为Oracle Database 11g Release 1,而且只能使用这个版本,其他版本不可行,另外需要与你的网站应用池的位数(...
September 24, 2017

在.Net Core 2.0中使用MySQL

在之前,我简单的介绍过在.net core中使用Mongodb(见文章《.Net Core系列教程(三)——使用Mongodb》),也使用过PostgreSQL(但是没有写文章介绍怎么使用,只是在文章《.Net Core系列教程(一)——环境搭建》中简单介绍过如何安装)。当然,我的文章质量都不高,只是把自己平时遇到的问题记录下来,很多问题是自己经历过之后在网上苦苦的寻找答案但都不适用或者不明...
September 23, 2017

.Net Core 2.0的一些不大一样的地方(一)——基础身份认证

近日,把之前使用.net core 1.0写的网站,使用.net core 2.0改写了一下,发现一些不大一样的地方,如果不注意的话,会出现些问题。一、先说下关于使用Cookie来验证用户登录的地方:在.net core 1.x时代,具体作法如我前面的文章《.Net Core系列教程(四)—— 基础身份认证》所说,这里我就不重新写了而在.net core 2.0中,需要做以下调整:1)在St...
September 5, 2017

使用iText5来处理PDF

项目要求,通过pdf模板,把用户提交的数据保存到一个PDF文件中。其中有文字内容,也有图片。之前选了aspose.pdf,因为抠门,不能花钱买,就从网上找的的开心版,好不容易出来点模板,结果插入图片的时候,同一页只能插入一张图片,而官方的试用版是可以正常两张的,另外字段比较多,速度比较慢,几百个字段需要一分多钟,效率很低,放弃。之后尝试iText,发现要比aspose.pdf好用的多,下面就...
May 27, 2017

C#多线程并发处理的问题

公司某业务,需要按条来处理大批量数据,大概几万条到几十万条都有可能。这个是由另外一个同事写的,写完之后测试,速度、效率都非常低。我问了下,原来是直接拿这些数据进行循环处理,之后又把有问题的数据循环入库。这就有两个瓶颈,一个是单线程处理数据,另一个就是又一次循环入库。我给出的建议是,处理数据部分多线程,处理完数据之后直接把有问题的数据入库。可是同事用不明白多线程,那好吧,我给写个Demo吧。这...
March 13, 2017

提高WebRequest方法的并发限制

在C#中,WebRequest方法和WebClient方法,在多线程时,对并发请求数量有一个默认限制,这个限制与操作系统相关,在Windows XP/Windows 7等PC系统上默认为2个,而在Windows 2008等服务器系统中,默认为10个,也就是说在出现高并发的环境中,使用WebRequest方法来进行POST或GET请求时,最多只能同时发送10个,剩下的都在排队。出现这个问题的原...
March 11, 2017

Visual Studio 2017 问题集锦

前几天微软发布Visual Studio 2017 RC版,第一时间下载安装并体验了一番,把我之前在Visual Studio 2015下面写的IP高精度定位网站升级到VS2017项目,在此期间遇到了点问题,就在这里开一篇文件,来统一写一下在使用2017的过程中遇到的问题及解决方法吧,该文章不定期的更新。以下问题是在.Net Core项目下出现的+++1.类库的改变在使用VS2015写.ne...