在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

 分类:代码世界

ASP.NET Core 配置跨域(CORS)

由于项目中需要实时消息,所以就使用了ASP.NET(Core) SignalR实时通讯库。因为业务服务与通讯服务是独立的,所以涉及到跨域的问题, 浏览器抛出的异常非常明显,这个是明显跨域相关内容。 报错信息如下: Access to XMLHttpRequest at ‘http://192.168.2.13:5005/api/v1/commommessage/messageHub/negotiate’ from origin ‘http://127.0.0.1:5500’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control...

4年前 (2020-01-13) 2678℃ 0评论 29喜欢

Newtonsoft.Json序列化对象时循环引用异常处理

因某些需求,需要将指定的对象序列化放到缓存中,在使用Newtonsoft.Json序列化时候报错,异常信息清晰明显就是循环引用问题。具体错误如下: 详细异常如下: fail: System.Exception[-2146233088] Self referencing loop detected for property ‘Ancestor’ with type ”. Path ‘Descendants[0]’. Newtonsoft.Json.JsonSerializationException: Self referencing loop detected for property ‘Ancestor’ with type ‘*’. Path &...

4年前 (2020-01-11) 2495℃ 0评论 4喜欢

Windows 7 SP1安装.net core2.1无法安装问题

因某些情况需要在测试人员机器上安装.net core 2.1,系统为Windows 7 SP1。安装.net core2.1,出现 sfx x64.cab has an invalid digital signature错误,安装不成功。错误信息如下: A file that is required cannot be installed becquse the cabinet file C:\ProgramData\Package Cache\{3551F085-7544-3527-84BA-9706CB1379A1}v2.1.14.0\sfx x64.cab has an invalid digital signature. This may indicate that the cabinet file is corrupt. 根据错误信息得知应该是证书相关问题...

4年前 (2020-01-03) 1433℃ 0评论 12喜欢

docker环境下使用EPPlus 导出Excel报Gdip异常

网站内容在Windows环境下并没有出现任何问题,但是在Linux 系统Centos的Docker环境下就出现了相关错误。这让人一脸蒙逼啊, 未能加载libdl库。使用了EPPlus处理Excel,其内部设置了字体大小以及颜色之类的东西,使用了‘ System.Drawing.Font ’的相关内容。由于Linux系统中Docker环境下缺少相关库,故而出现异常。具体错误请看以下内容。 报错内容: fail: System.Exception[-2146233036] The type initializer for ‘Gdip’ threw an exception. System.TypeInitializationException: The type initializer for ‘Gdip’ threw an exception. —> System...

4年前 (2019-12-31) 1074℃ 0评论 3喜欢

使用Windows API向指定窗口发送模拟键盘消息

上周五在QQ群遇到群友提问的一个问题。问题是这样的:文字识别之后,当点击Excel单元格识别内容自动出现当前单元格中。我提供相关实现思路,使用相关Windows API来实现操作,其中基本思路就是:获取当前鼠标位置=>获取当前位置窗口句柄=>获得当前句柄类=>模拟键盘消息。但遗憾的是他一直没有搞定还一直问,无奈我就直接给他了简单的示例代码。其中使用的Windows API 接口为以下几个: GetCursorPosWindowFromPointGetClassNamekeybd_event using MouseKeyboardActivityMonitor; using MouseKeyboardActivityMonitor.WinApi; using System; using System.Collections.Generic; using System...

4年前 (2019-12-29) 807℃ 0评论 11喜欢

Visual Studio (VS)2017/2019安装Spy++工具

最近因为某些原因需要用到spy++工具, 在Visual Studio中找不到Spy++工具,在系统中也没有找到。经过了解需要重新下载Spy++工具.在Visual Studio通过以下进行安装。 工具=>获取工具和功能=》单个组件=》Visual Studio C++核心功能 然后,勾选《 Visual Studio C++核心功能 》后修改完成,工具Spy++就此安装完成。如下图: 转载请注明:清风亦平凡 » Visual Studio (VS)2017/2019安装Spy++工具...

4年前 (2019-12-29) 2434℃ 0评论 21喜欢

使用Quartz.NET实现定时(计划)任务

Quartz.NET Quartz.NET是一个强大、开源、轻量的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,用C#改写,可用于winform和asp.net应用中。它灵活而不复杂。你能够用它来为执行一个作业而创建简单的或复杂的作业调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。 官网:http://www.quartz-scheduler.net/ 源码:https://github.com/quartznet/quartznet 示例:http://www.quartz-scheduler.net/documentation/quartz-2.x/quick-start.html 其实Quartz是一个完全由java编写的开源作业调度框架,Quartz是OpenSymphony开...

4年前 (2019-12-16) 1536℃ 0评论 3喜欢

.net core 使用 IHostedService 实现定时执行的任务

背景后台任务和计划任务最终可能需要在基于微服务的应用程序或任何类型的应用程序中实现。 使用微服务体系结构的区别在于,可以实现一个微服务进程/容器来托管这些后台任务,以便根据需要对其进行减少/增加,或者甚至可以确保它运行该微服务进程/容器的单个实例。 一般在 .NET Core 中,我们将这些类型的任务称为托管服务 ,因为它们是托管在主机/应用程序/微服务中的服务/逻辑。 请注意,在这种情况下,托管服务仅表示具有后台任务逻辑的类。 前言 从 .net core 2.0 开始,开始引入 IHostedService,可以通过 IHostedService 来实现后台任务,但是只能在 WebHost 的基础上使用。从 .net core 2.1 开始微软引入通用主机(Generic Host),使得我们可以在不使用 Web 的情况下,也可以使用 IHostedSe...

4年前 (2019-12-07) 1786℃ 0评论 3喜欢

常见的开源协议

简介 开源软件(Open source software)对我们来说越来越不陌生,开源软件一方面让我们享用到了“免费的午餐”,另一方面有效的利用和学习开源软件,也能促进我们开发软件时的效率、提升软件质量。但是在使用和借鉴开源软件的时候,我们不得不关心一下它对使用者的诸多限制,比较常见的方式即协议授权(licence),这些协议中明确说明了使用者应该遵循的原则。 现在开源协议众多,通过Open Source Initiative组织批准的开源协议有50多种,本文介绍其中一些常见的协议。 常见的协议介绍 BSD协议 BSD开源协议是一个给予使用者很大自由的协议。开发者可以自由使用和修改源代码,也可以讲修改后的源代码作为开源或者专有软件再发布。但是有一下几个要求: 如果再发布的产品中含有源代码,则在源代码中必须带有原来代码中的BSD协议。 如果再发布的只是二...

5年前 (2019-10-29) 558℃ 0评论 0喜欢

Host is not allowed to connect to this MySQL server问题

在应用部署后访问中出现一下错误: ERROR 1130: Host ‘localhost’ is not allowed to connect to this MySQL server 其实就是 MySQL 不允许当前的Host进行连接。为了本地以后测试方便,暴力解决方法如下: 1.在装有MySQL的机器上登录MySQL:mysql -uroot -p密码2.选择我mysql库,执行use mysql;3.更新user表,执行update user set host = ‘%’ where user = ‘root’;这一句执行完可能会报错,不用管它。4.执行FLUSH PRIVILEGES; 转载请注明:清风亦平凡 » Host is not allowed...

5年前 (2019-09-06) 609℃ 0评论 0喜欢

禁用WordPress程序REST API功能

本博客点使用PHP的一套出名的应用,那就是WordPress。站点建立完成后就有针对登录的暴力破解,很多都应该都是随机的用户名尝试,那个时候也就没有做任何处理。过一段时间发现,真正的用户名已被发现,经过了解发现是WordPress站点一个功能,可以暴露用户名。如下请求: /?author=1/author/admin 这个问题解决使用方法也很简单,因为一开始就使用了 redirections ,索性就直接用301重定向。到这里这个问题是解决了。很奇怪登录失败列表还是存在真实用户名,最后发现是WordPress应用的API问题。这太扯淡了,没有权限验证用户API就能获得登录用户名。 /wp-json/wp/v2/users WordPress 4.4 默认集成了备受关注的 JSON REST API,这个对于开发者来说,无疑是非常有用的,通过 JSON R...

5年前 (2019-09-02) 885℃ 0评论 3喜欢

WordPress禁用xmlrpc.php接口

最近遇到了大规模的针对wordpress后台暴力破解,验证码好像也没有什么用。经过了解发现是WordPress的XMLRPC的接口问题。 XML-RPC 是 WordPress 用于第三方客户端(如 WordPress iPhone 和安卓客户端,Windows Live Writer 等)的 API 接口,还可以用于 pingbacks 和 trackbacks 端口,作为站点之间的通讯桥梁。 攻击方式 这种利用xmlrpc.php的攻击可以绕过限制。攻击的方式直接POST以下数据到xmlrpc.php <?xml version="1.0" encoding="iso-8859-1"?> <methodCall> <methodName>wp.getUsersBlogs</methodName>...

5年前 (2019-08-31) 1224℃ 0评论 4喜欢

在Docker中获取Windows MobyLinuxVM 的Shell

使用Docker for Windows时,我们实际上正在使用在特殊Hyper-V VM中运行的小型(自定义)LinuxKit Linux。使用了相当多的方式使在Windows中使用Docker更加便利,似乎容易让人忘记它还在在Linux内核上运行。 请注意,这是关于默认的“Linux容器”模式。它不适用于“Windows容器”模式。 这只是一个可以访问Linux VM的容器,因此您可以执行诸如ps aux查看在VM中运行的守护程序之类的操作。这不是一个完整的操作系统。 首先需要创建一个具有完全root访问权限的容器,然后从那里访问文件系统。 获取可访问Docker守护程序的容器 运行具有完全root访问权限的容器 切换到主机文件系统 构建镜像 使用Docker构建一个镜像,Dockerfile如下所示: FROM ubuntu RUN...

5年前 (2019-08-23) 1023℃ 0评论 2喜欢

.NET Core api部署在IIS上405-Method Not Allowed

使用.net core api作为接口对外提供数据,在IIS Express上测试没有发现问题,部署到IIS后出现了405-Method Not Allowed。( 请求方式为DELETE ) .如下图: 由上图的错误得知,此问题应该是IIS未允许当前请求方式。首先查看aspNetCore在IIS中是否限制了请求方式,经过查看并未发现不被允许的请求方式。处理程序映射=>aspNetCore 通过了解 IIS拒绝PUT和DELETE请求是由默认注册的一个名为WebDAVModule的自定义HttpModule导致的。WebDAV的全称为Web-based Distributed Authoring and Versioning,它是一个在多用户之间辅助协同编辑和管理在线文档的HTTP扩展。该扩展使应用程序可以直接将文件写到Web Server上,同时支持文件的...

5年前 (2019-06-12) 2210℃ 0评论 0喜欢

如何在Visual Studio中关闭垂直滚动条的缩略图模式

Visual Studio编码窗口左侧垂直滚动条的缩略图模式,可以快速预览代码。不过个人特别不喜欢这种模式,我也不记得什么时候 Visual Studio 进行了设置,也许是我忘记了吧!如下图: 恢复原来简约模式(垂直滚动的条状模式)其实也很简单,但是Visual Studio和Visual Studio Code 是不太一样的。工具=》选项=》所有语言=》滚动条=》行为。这样可以对滚动条模式进行设置。如下图: 转载请注明:清风亦平凡 » 如何在Visual Studio中关闭垂直滚动条的缩略图模式...

5年前 (2019-06-11) 994℃ 0评论 0喜欢

网页加速插件Decentraleyes

背景在开发或者学习过程中,会遇到相关问题需要解决。很多时候要去stackoverflow找前人的一些解决方案或者方法。但访问这个网站出奇的慢而且还很卡,最后会给出相关提示:“Stack Overflow requires external JavaScript from another domain, which is blocked or failed to load.”原因是该网站引用了一些google js资源,google 在中国大陆是被墙的,所有导致引用它的库的网页访问很慢。解决这问题有两个方法,一使用国外一些代理进行访问,二使用本地资源代替网站中的CND。本次记录的就是第二种方法。 Decentraleyes简介 Decentraleyes插件都是事先将一些第三方库文件在本地加载,当打开网页遇到使用其他第三方库文件时,马上进行拦截并从本地进行加载,这样就可以...

5年前 (2019-06-05) 1462℃ 0评论 3喜欢

Linux下系统时间的修改

修改时区 临时改时区 export TZ='Asia/Shanghai'; 时区字符串可使用tzselect程序查看。 永久修改时区 CentOS rm -f /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime Ubuntu cat /etc/timezone rm -f /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 修改时间 将系统时间写入硬件(BIOS)时间 date -s "2019-06-04 10:41:00" hwclock –systohc 将硬件时间写入系统时间 hwclock --...

5年前 (2019-06-04) 573℃ 0评论 0喜欢

Markdown基本语法

Markdown Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。 Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。 Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。 Markdown 编写的文档后缀为 .md, .markdown。 Markdown 应用 当前许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。例如:GitHub、简书、reddit、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge等。 Markdown 语法 标题 Markdown 标题有两种格式。 第一种 使用 = 和...

5年前 (2019-06-01) 527℃ 0评论 0喜欢

RESTful API 设计指南

摘要网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备……)。 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现“API First”的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。 我以前写过一篇《理解RESTful架构》,探讨如何理解这个概念。 今天,我将介绍RESTful API的设计细节,探讨如何设计一套合理、好用的API。我的主要参考了两篇文章(1,2)。 一、协议 API与用户的通信协议,总是使用HTTPs协议。 二、域名 应该尽量将API部署在专用域名之下。 https://api.example.com 如果确定AP...

5年前 (2019-05-29) 486℃ 0评论 0喜欢

ML.NET 来对鸢尾花分类

主要目的演示如何使用 ML.NET 为鸢尾花数据集构建聚类分析模型。了解ML.NET使用基本流程。 问题 问题的本质即基于花卉特征将鸢尾花数据归入不同的组。 这些特征包括:花萼的长度和宽度以及花瓣的长度和宽度。 需通过这些特征了解数据集的结构,并预测数据实例与此结构的拟合相似分类。 创建控制台应用程序 打开 Visual Studio。 从菜单栏中选择“文件” > “新建” > “项目”。 在“新项目”对话框中,依次选择“Visual C#”和“.NET Core”节点。 然后,选择“控制台应用程序(.NET Core)”项目模板。 在“名称”文本框中,键入“MLNet”,然后选择“确定”按钮 在项目中创建一个名为“数据”的目录来保存数据集和模型文件: 在“解决方案资源管理器”中,右键单击项目,然后选择“添加”...

5年前 (2019-05-27) 638℃ 0评论 0喜欢

理解RESTful架构

越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种”互联网软件”采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。 网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,如何开发在互联网环境中使用的软件。 RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。 但是,到底什么是RESTful架构,并不是一个容易说清楚的问题。下面,我就谈谈我理解的RESTful架构。 一、起源 REST这个词,是Roy Thomas Fie...

5年前 (2019-05-25) 639℃ 0评论 0喜欢

Quartz.net的Cron表达式

一、Quartz.NET Quartz.NET是一个强大、开源、轻量的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,用C#改写,可用于winform和asp.net应用中。它灵活而不复杂。你能够用它来为执行一个作业而创建简单的或复杂的作业调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。 官网:http://www.quartz-scheduler.net/ 源码:https://github.com/quartznet/quartznet 示例:http://www.quartz-scheduler.net/documentation/quartz-2.x/quick-start.html 其实Quartz是一个完全由java编写的开源作业调度框架,Quartz是OpenSym...

5年前 (2019-05-10) 1103℃ 0评论 0喜欢

postman安装异常“could not open postman”

背景Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。 官方网站:https://www.getpostman.com/ 安装 Postman最早是作用chrome浏览器插件存在的,所以,你可以到chrome商店搜索下载安装,因为重所周知的原因,所以,大家都会找别人共享的postman插件文件来安装。由于2018年初Chrome停止对Chrome应用程序的支持。 Postman提供了独立的安装包,不再依赖于Chrome浏览器了。同时支持MAC、Windows和Linux,推荐你使用这种方式安装。https://www.getpostman.com/apps 在安装过程中突然出现异常:“cou...

5年前 (2019-05-07) 1640℃ 0评论 12喜欢

在Windows 10操作系统下对文件进行hash校验

首先,我们使用计算机上的键盘,按【win】+【r】键来打开运行 cmd命令行窗口 . 然后,在弹出的运行窗口中输入 PowerShell 按下回车  . 使用如下命令做MD5校验: CertUtil -hashfile D:\software\PowerDesigner16x64_Evaluation.exe MD5 此命令不仅可以做MD5哈希算法校验,还支持其他的哈希算法,具体如下: CertUtil -hashfile 文件路径 [算法] 支持的算法有:MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512 Demo: 转载请注明:清风亦平凡 » 在Windows 10操作系统下对文件进行hash校验...

5年前 (2019-04-19) 734℃ 0评论 2喜欢

Windows 10右键菜单获取超级管理员权限

新建一个TXT文件,把下面的脚本贴到里面,然后把后缀改成reg格式,双击添加到注册表,Windows 10 版本1809测试可用。 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT*\shell\runas] @=”获取管理员权限” “NoWorkingDirectory”=”” [HKEY_CLASSES_ROOT*\shell\runas\command] @=”cmd.exe /c takeown /f \”%1\” && icacls \”%1\” /grant administrators:F” “IsolatedCommand...

5年前 (2019-04-16) 790℃ 0评论 0喜欢