![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
.NET/.NET CORE
aaa_dai
https://github.com/Song2017
展开
-
.NetCore的Toekn验证(附源码)
先简单说下JSON Web Token, 然后使用.NET Core内置的JWT验证机制.Demo Source CodeAspNetCore JwtBearer Source CodeJSON Web Token是什么JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且独立的方式,用于在各方之间作为JSON对象安全地传输信息。数据格式为: H...原创 2019-11-01 14:33:27 · 1352 阅读 · 0 评论 -
C#核心编程结构(二)
3 c#核心编程Main() c#要求所有的程序逻辑都包含在一个类型定义中,Program类中的Main()方法作为程序的入口点。 Program类也称作应用程序对象,一个可执行程序可以有多个应用程序对象,但必须指定具体的入口点。 Environment: get environment infoConsoleConsole.WriteLine("os {0}, cd {1}, ld {原创 2017-10-16 19:53:38 · 334 阅读 · 0 评论 -
C#与.net平台(一)
1 .net.net - 本质上是一个运行库执行引擎(mscoree.dll)和基础类库(mscorlib.dll等)。 - CLR可以承载任何符合托管代码规则的.net二进制文件(即程序集). - 程序集中有很多CIL指令(以及类型元数据和程序集清单) CIL common intermediate language 公共中间语言 托管代码 只能在.net运行库中执行的C#代码原创 2017-10-16 19:33:50 · 930 阅读 · 0 评论 -
C#高级编程结构(四)
9 集合与泛型解决内存中维护和操作一组数据点的问题 解决了.net1.1中装箱和类型安全问题集合类的动机 非泛型集合:通常设计为操作System.Object System.Collections泛型类型的优势 a. 性能更好,因为他们不会导致装箱和拆箱的损耗 b. 更加类型安全,因为我们指定他们包含的类型 c. 大幅减少了构建自定义集合类型的需要,因为创建泛型容器时指定了 类型的类型原创 2017-11-08 19:18:45 · 507 阅读 · 0 评论 -
C#面向对象编程(三)
5 封装类类型 由字段数据(成员变量)及操作这个数据的成员(构造函数,属性,方法)所构成的自定义类型 object 对象: new关键字创建的某个类类型的实例 new new关键字把引用赋给对象 fields 字段: 在类中定义的变量 properties 属性: field 加上其get/set方法 members 成员: 字段,属性,方法,类的事件 构造函数 在创建对象的同原创 2017-10-19 19:44:25 · 949 阅读 · 0 评论 -
The Stack Is An Implementation Detail, Part Two
栈是一个实现细节(二) 原文 Part one很多人问过我,在之前的博文中提到过值类型会是在栈上,为什么值类型可以分配在栈上而引用类型不行。简短的回答是“因为他们能”。因为栈结构的性能代价小,所以如果可能的话,我们把值类型放到栈上。详见下文。 我将对内存管理策略做一次高级别的说明,我们一般称之为栈和堆。先从堆开始公共运行语言的垃圾回收堆是充满了大量细节的编程奇迹。接下来的草图不是它如何运行而是翻译 2017-10-09 20:39:49 · 274 阅读 · 0 评论 -
SecurityA.dll实现
public class SecurityA{ //extern修饰符支持在外部实现方法 //外部修饰符的常见方法是在使用Interop 服务调入非托管代码时与 DllImport 属性一起使用; //方法还必须声明为 static [DllImport("securityA.dll")] static extern IntPtr DeCode(IntPtr原创 2017-06-21 18:22:02 · 491 阅读 · 2 评论 -
C# GridView添加行号_CustomDrawRowIndicator
public static class GridViewEx { public static void SetShowRowNo(this GridView gv) { Debug.Assert(gv != null); gv.OptionsView.ShowIndicator = true;原创 2016-08-23 18:16:53 · 5641 阅读 · 0 评论 -
c# 重写GridLookUpEdit的过滤事件_OnCreateLookupDisplayFilter
关键的重写过滤方法 /// /// 按过滤值下拉/// /// /// /// protected override string OnCreateLookupDisplayFilter(string text, string displayMember){text = text == null ? string.Empty : text.Trim();List colOpr =原创 2016-08-17 16:05:12 · 2493 阅读 · 0 评论 -
.net 编译报错:编辑器或项目正在尝试签出在内存中修改的文件,这将导致保存该文件。
编辑器或项目正在尝试签出在内存中修改的文件,这将导致保存该文件。在生成过程中保存文件是危险的,这可能会在将来导致不正确的生成输出。是否仍然继续签出?原创 2016-07-25 15:29:19 · 951 阅读 · 0 评论 -
The Stack Is An Implementation Detail, Part One
栈是一个实现细节(一)之前写过一篇博客是关于“引用总是被描述成地址”每当字面上描述c#内存模型。尽管引用不是地址是没问题的,但他更可以被视作实现细节而不是永恒的真理。另外一个我经常看到被作为事实的内存模型实现细节是“值类型分配到栈上“。参见官网。 我看到几乎每篇文章描述值类型和引用类型的区别都是通过讲解”栈“是什么以及最重要的区别是值类型如何被分配到栈上。你肯定可以找到很多这种文章。我发现描述翻译 2017-10-09 20:34:40 · 292 阅读 · 0 评论 -
.NET 程序集编程(五)
14 .net程序集入门程序集是基本的部署单元 定义自定义命名空间 一个程序集可以有多个namespace,一个namespace可以包含多个程序集 namespace偏向逻辑上的组织,程序集可以看作是物理文件上的关系 不同namespace之间的引用通过 using 完全限定名: CIL中总是以完全限定名进行定义 MyCircle mycircle = new MyCi原创 2017-10-31 17:02:19 · 590 阅读 · 0 评论 -
ASP.NET Web Form(八)
ASP.NET Web FormProfile对象是Web Form, MVC和ajax的细节会有所不同 Chapter 32 介绍使用ASP.NET进行web应用开发.ASP.NET网页的构造基础的编程模型.web服务器的选择和web.config文件的使用 Chapter 33 组成内部控件树的控件:验证控件,内置站点导航控件及数据绑定操作在内的核心web控件 Chapter 34原创 2017-12-12 18:23:53 · 615 阅读 · 0 评论 -
ag-grid with web api
因为工作中更多使用存储过程+Oracle, 不太适合使用Entity Framework, 作为试验写了一下.App Context为了显示大数据量, 以及考虑到控件自身的功能丰富度和support, 前端使用ag-grid控件为了容器化, 采用 .net core 2.2框架兼容移动端, 使用web api为了更好的利用已有的存储过程, 未使用EF, 通过 ADO.Net获取数据库数...原创 2019-03-27 18:16:13 · 1697 阅读 · 0 评论 -
C#程序导入导出数据库
oracle 行指令//通过cmd调用oracle行指令导入导出数据库//通过directory导出数据库//创建directory https://blog.csdn.net/sgs595595/article/details/81066685string expdpcmd = "expdp user_test/user_pass@xe directory=DATA_PUMP_DIR d...原创 2018-12-25 10:44:05 · 1553 阅读 · 0 评论 -
asp.net使用img报错:503 (Service Unavailable)
在asp.net项目里使用img标签展示.gif图片,然后报503 (Service Unavailable).错误信息packingTorqueCrane.gif:1 GET http://localhost/images/packingTorqueCrane.gif 503 (Service Unavailable)解决思路刚开始一看5xx错误,直接奔IIS去了, 对IIS se...原创 2018-11-20 19:52:50 · 625 阅读 · 0 评论 -
ASP.Net Core DB Migration
ConceptASP.NET Core is a new open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core ap...原创 2017-02-18 13:56:48 · 1639 阅读 · 0 评论 -
asp.net core web app build success but fail to start up
error The program '[35412] dotnet.exe' has exited with code -2147450749 (0x80008083).The program '[5656] iisexpress.exe: Program Trace' has exited with code 0 (0x0).The program '[5656] iisexpre...原创 2017-03-15 09:23:18 · 1149 阅读 · 0 评论 -
Concept with IIS 7.0 component
https://www.iis.net/learn/get-started/introduction-to-iis/introduction-to-iis-architecture#HypertextHTTP.sysHypertext Transfer Protocol Stack HTTP.sys listens for HTTP requests from the network, pass原创 2017-07-21 10:25:12 · 598 阅读 · 0 评论 -
Winform异步等待控件简单实现
思路BaseForm类继承Form class:通过拓展BaseForm类添加控件,使用时继承BaseForm 等待控件作用: 禁用主窗体控件;显示进度条控件异步调用: try{} finally{}进行控件的回收实现BaseFormpublic partial class BaseForm : Form{ private ProgressBar progressBar = n原创 2017-11-25 18:11:50 · 2968 阅读 · 0 评论 -
DEV 浅析UpdateCurrentRow(),PostEditor(),CloseEditor()
DevExpress.XtraGrid.v13.2UpdateCurrentRow//// 摘要:// Validates the focused row and saves its values to the data source.//// 返回结果:// true if the row has been successfully updated;原创 2016-07-08 13:14:04 · 6586 阅读 · 0 评论 -
.net {"已添加项。字典中的关键字:“**”所添加的关键字:“**”"}
用户代码未处理 System.ArgumentException HResult=-2147024809 Message=已添加项。字典中的关键字:“00”所添加的关键字:“00” Source=mscorlib StackTrace: 在 System.Collections.Hashtable.Insert(Object key, Object nval原创 2016-07-18 18:01:57 · 13640 阅读 · 2 评论 -
There was a mismatch between the processor architecture of the project
警告 1 There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "G:\qqq\qqq\LD_ElectricBusiness\_qqq\qqq\qqq.exe", "x原创 2015-09-29 16:00:53 · 2703 阅读 · 0 评论 -
Visual Studio .exe.config和.vshost.exe.config的差异
.exe.config :部署到客户端,通过.exe打开后使用配置文件, 客户会用到的文件;.vshost.exe.config : IDE通过F5打开后,宿主进程.vshost.exe打开程序所使用的配置文件, 调试时用到的文件.需要注意的是.vshost.exe.config文件在原创 2016-06-21 10:01:57 · 1972 阅读 · 0 评论 -
c#泛型结合Linq实现从数据源中截取指定位置,行数的数据
//封装方法 /// /// 按指定截取值 /// /// /// 数据源 /// 截取数据 /// 截取区域的序号 /// 截取单位长度 /// 失败返回false public static bool Inte原创 2016-06-03 17:03:10 · 3037 阅读 · 0 评论 -
c# App.config操作_VS2010
App.config:客户端应用程序配置文件,是一个作用域为整个客户端应用程序的xml文档. 操作类 :ConfigurationManager //读写App.config /// /// 获取配置表数值 /// /// 键 /// 值原创 2016-07-04 11:25:22 · 2248 阅读 · 0 评论 -
c# Timer_应用程序中生成定期事件
// 摘要: // 在应用程序中生成定期事件。 [DefaultEvent("Elapsed")] [DefaultProperty("Interval")] public class Timer : Component, ISupportInitialize static class Program { p原创 2016-07-14 09:49:46 · 804 阅读 · 0 评论 -
c#的委托和事件的实例学习
编写实例学习了委托的单路广播,多路广播,委托逆变,泛型委托.以及简单的 //委托可以被视为一个更高级的指针,它不仅仅能把地址指向另一个函数,而且还能传递参数,返回值等多个信息 public class ClassDelegate { //委托对象绑定单个方法。 //无返回值 delegate void MyDelegate1(stri原创 2015-09-15 15:03:39 · 617 阅读 · 0 评论 -
c#实现Foreach枚举_IEnumerable和IEnumerator
IEnumerable public class Indexer //: IEnumerable { static public int size = 10; private string[] indexerList = new string[size]; //构造函数赋初值 public Indexer()原创 2016-07-11 16:11:44 · 1287 阅读 · 0 评论 -
dev gridview CustomRowCellEditForEditing 中下拉列表默认的数据源根据列改变
1,使用 CustomRowCellEditForEditing事件:通过重写默认的列编辑器,允许你指定一个合适的自定义编辑器,该自定义编辑器既适用于显示模式也适于编辑模式。 2, // 摘要: // Allows you to assign a custom editor to a column for in-place edit原创 2015-10-22 20:53:30 · 4354 阅读 · 0 评论 -
dev GridView 自定义显示文本 CustomColumnDisplayText
CustomColumnDisplayText(显示值)可以结合CustomRowCellEditForEditing(实际值)使用注意:GridView 的每一列原始数据是Value,但是显示数据是 DisplayText,默认DisplayText的值即是Value通过DisplayFormat转换之后的值。 //自定义显示文本 DataTable dtC原创 2015-10-23 14:50:36 · 6310 阅读 · 0 评论 -
.net对json序列化和反序列化
JavaScriptSerializer : Json.NET 应使用的序列化和反序列化。 为启用 AJAX 的应用程序提供序列化和反序列化功能。msdn地址: https://msdn.microsoft.com/zh-cn/library/system.web.script.serialization.javascriptserializer.aspxDLL类: Microsoft\F原创 2016-07-08 15:50:06 · 789 阅读 · 1 评论 -
Visual Studio VSHOST(承载/宿主进程)
VSHOST:the Hosting Process 承载/宿主进程 全称: 程序名称.vshost.exe创建:VS编译器中建立一个项目时创建目的:1,提高调试性能,调试的时候托管程序需要创建应用程序域(AppDomain),应用程序域限定了程序的运行环境,可被视为轻量级的进程(可承托1个.exe或是多个.dll). 创建应用程序域和调试器需要花费很多时间并且结束原创 2016-06-21 11:53:03 · 3596 阅读 · 0 评论 -
c#中字符串按指定字符进行数组化,并按指定要求格式化数组内的字符串
//Split :返回的字符串数组包含此字符串中的子字符串(由指定 Unicode 字符数组的元素分隔)。//参数指定是否返回空数组元素 StringSplitOptions//Select :Linqvar strtest = "1,2,3".ToString().Split(new char[] { ',' }, StringSplitOptions.None).Select原创 2015-10-13 15:08:58 · 1291 阅读 · 0 评论 -
c#中的'&'和'&&','|'和'||'
//二元 | 运算符是为整型和 bool 类型预定义的。对于整型,| 计算操作数的按位“或”结果。对于 bool 操作数,| 计算操作数的逻辑“或”结果; //也就是说,当且仅当两个操作数均为 false 时,结果才为 false。 int i = 0; Console.WriteLine(true | i++ == 10);原创 2015-10-12 14:43:59 · 1766 阅读 · 0 评论 -
c# 引用外部dll
1,实现类 public class SecurityA { //extern修饰符支持在外部实现方法 //外部修饰符的常见方法是在使用Interop 服务调入非托管代码时与 DllImport 属性一起使用; //方法还必须声明为 static [DllImport("securityA.dll")] s原创 2015-12-09 20:39:38 · 1396 阅读 · 2 评论 -
FTP(FtpWebRequest/FtpWebResponse) 上传下载
//上传文件 string strlocalFileName = txtName.EditValue.ToStringEx(); FileInfo fiLocalFileInfo = new FileInfo(strlocalFileName); if (!fiLocalFileInfo.Exists)原创 2016-01-19 17:01:43 · 1030 阅读 · 0 评论 -
Visual Source Safe_VSS复制已有解决方案创建新的解决方案
1,准备文件,a,复制原有项目文件夹到新文件中,打开VS,通过VS进行修改解决方案的名称,添加或删除类库等b,去掉文件 a),原有的代码控制文件 .*scc b), 程序本地缓存文件夹 .bin2,新项目添加vss管理 ,a,选中你要添加文件夹的项目(上级文件夹);b,在file菜原创 2016-06-28 09:57:33 · 1778 阅读 · 0 评论