Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by Binding Flags.Public
Unity辅助工具_头部与svn-CSDN博客
Unity调用者按钮增加PlaySideButton using QQu; using UnityEditor; using UnityEngine; [InitializeOnLoad] public class PlaySideButton { static PlaySideButton() { UnityEditorToolbar.RightToolbarGUI.Add(OnRightToolbarGUI); UnityEditorToolbar.LeftToolbarGUI.Add(OnLeftToolbarGUI); } private static bool mIsOpenPreview = false; private static void OnRightToolbarGUI() { if (GUILayout.Button("GM | 格子坐标 | 格子使用", GUILayout.MaxWidth(150), GUILayout.Height(21))) { if (Event.current.button == 0) {...
Asp.net MVC中的Http管道事件为什么要以Application_开头?
今天遇到一个问题,需要在API请求结束时,释放数据库链接,避免连接池被爆掉。 按照以往的经验,需要实现IHttpModule,具体不展开了。 但是实现了IHttpModule后,还得去web.config中增加配置,这有点麻烦了,就想有没有简单的办法。 其实是有的,就是在Global.asax.cs里面定义并实现 Application_EndRequest 方法,在这个方法里面去释放数据库连接即可,经过测试,确实能达到效果。 但是,为什么方法名必须是Application_EndRequest ?在这之前真不知道为什么,只知道baidu上是这么说的,也能达到效果。 还好我有一点好奇心,想搞清楚是怎么回事情,就把net framework的源码拉下来(其实源代码在电脑里面已经躺了N年了) 分析了一下,以下是分析结果。 省略掉前面N个调用 第一个需要关注的是 HttpApplicationFactory.cs 从名字就知道,这是HttpApplication的工厂类,大家看看Gloabal.asax.cs 里面,是不是这样定义的 public class...
Caching documents in RavenDB: The good, the bad and the ugly
Hi Oren, Thanks for the article. Our expectation is RavenDB invalidates the Aggressive Cache for the one item that changes. We use Aggressive Cache for metadata that hardly ever changes for a give tenant (categories, currencies, drop-down lists, custom fields definitions etc.). The thing we're looking for could just work for Load<> without anything fancy. No need for queries.
使用c#强大的表达式树实现对象的深克隆之解决循环引用的问题 - a1010 - 博客园
在上一期博客里,我们提到使用使用c#强大的表达式树实现对象的深克隆,文章地址:https://www.cnblogs.com/gmmy/p/18186750。但是文章里没有解决如何实现循环引用的问题。 循环引用 在C#中,循环引用通常发生在两个或更多的对象相互持有对方的引用,从而形成一个闭环。这种情况在使用面向对象编程时比较常见,尤其是在处理复杂的数据结构如图或树时。当我们使用表达式树进行对象创建时,如果遇到循环引用,很有可能导致表达式树无限递归直至超出最大递归限制而引发溢出。 以之前的代码为例,这次我们引入一个循环引用的案例,其中类型定义如下: public class TestDto { public int Id { get; set; } public string Name { get; set; } public Dictionary<string,int> Record { get; set; } public double[] Scores { get; set; } public ChildTestDto Child { get; set; } } public...
使用c#强大的表达式树实现对象的深克隆 - a1010 - 博客园
表达式树是一个以树状结构表示的表达式,其中每个节点都代表表达式的一部分。例如,一个算术表达式 a + b 可以被表示为一个树,其中根节点是加法运算符,它的两个子节点分别是 a 和 b。在 LINQ(语言集成查询)中,表达式树使得能够将 C# 中的查询转换成其他形式的查询,比如 SQL 查询。这样,同样的查询逻辑可以用于不同类型的数据源,如数据库、XML 文件等。由于表达式树可以在运行时创建和修改,同样的它们非常适合需要根据运行时数据动态生成或改变代码逻辑的场景。这对于需要重复执行的逻辑(比如本文提到的深克隆)是非常有用的,因为它们可以被优化和缓存,从而提高效率。 在 C# 中,我们可以通过 System.Linq.Expressions 命名空间中的类来创建和操作表达式树。以下是一个创建简单表达式树的示例: // 创建一个表达式树表示 a + b ParameterExpression a = Expression.Parameter(typeof(int), "a"); ParameterExpression b =...
aspnetcore插件开发dll热加载 - 星仔007 - 博客园
该项目比较简单,只是单纯的把业务的dll模块和controller的dll做了一个动态的添加删除处理,目的就是插件开发。由于该项目过于简单,请勿吐槽。复杂的后续可以通过泛型的实体、dto等做业务和接口的动态区分。 项目结构如下: 上面的两个模块是独立通过dll加载道项目中的 repository动态的核心思想在此项目中是反射 public interface IRepositoryProvider { IRepository GetRepository(string serviceeName); } public class RepositoryProvider : IRepositoryProvider { public IRepository GetRepository(string x) { var path = $"{Directory.GetCurrentDirectory()}\\lib\\{x}.Repository.dll"; var _AssemblyLoadContext = new...
Invoke An Overloaded Generic Method On A Static Class
I'm trying to invoke methods on the InputExtensions static class in order to create overloads for the methods on the HtmlHelper class. So anyway, I still couldn't invoke the method Solution 1: Unfortunately, it seems that it is not possible...
实现游戏内置命令行系统
之前写过一个Unity内置的控制台,感觉它小巧但完善,适合作为一个完整的项目托管到Github,所以打算完善整理一下,并进行周期性的维护和更新。项目当前已经上传到了Github和Unity商店,可以从下面的地址跳转: Unity商店还在审核中,审核完毕时我会更新Unity商店的连接。 更新: @2024.01.06 评论区不是我关的,v0.11版本已经发布了,支持定义命令tag,支持监听UnityEngine的Debug.Log,所以你的项目里的Debug.Log不用做任何调整,支持命令查询缓存,提高查询效率。 目前该项目还不是非常的完善,仍然有很多我希望追加的特性和功能,后续会逐步的优化和完善。下面是该项目的截图,以及在我自己的游戏中魔改后的截图: 这个命令行系统做了高度的解耦合,它的内核部分不依赖Unity引擎,转而通过引入了一组接口和该组接口的Unity实现去绑定,所以这个命令行系统的内核部分理论上可以用于任何使用C#作为脚本语言的游戏中,即便不是Unity语言,它的结构也非常简单,可以重写一个出来,本文着重于讲解一下这个控制台实现的细节和思考的过程。...
EF Core预编译模型Compiled Model
前言 最近还在和 npgsql 与 EF Core 斗争,由于 EF Core 暂时还不支持 AOT,因此在 AOT 应用程序中使用 EF Core 时,会提示问题: 听这个意思,似乎使用 Compiled Model 可以解决问题,于是就又研究了一下 EF Core 的这个功能。 在 EF Core 中,模型根据实体类和配置构建,默认情况下,每次创建一个新的 DbContext 实例时,EF Core 都会构建模型。对于需要频繁创建 DbContext 实例的应用程序,这可能会导致性能问题。 Entity Framework Core(EF Core)的预编译模型(Compiled Model)对应提供了一种优化,在 EF Core 6 preview 5 中首次增加了这个功能,可以让设计人员预编译模型,避免在后续执行查询时动态生成模型。 预编译模型的优势 性能提升:通过预编译模型,可以减少应用程序启动时的开销,特别是对于大型模型。 此处的启动时间,指 DbContext 的首次启动时间,由于延迟查询的机制,一般 DbContext...
C#反射(Reflection)详解-阿里云开发者社区
开发者社区 开发与运维 文章 正文 2023-11-04 4 简介: 反射是.NET中的重要机制,通过反射可以得到*.exe或*.dll等程序集内部的接口、类、方法、字段、属性、特性等信息,还可以动态创建出类型实例并执行其中的方法。反射指程序可以访问、检测和修改它本身状态或行为的一种能力。通俗一点:我们在获取其他实体类的字段名或实列,只能获取公有的,而有了反射之后可以获取私有的,可以获取他的基类等等,可以说把家底查得清清楚楚。 ?简介: 反射是.NET中的重要机制,通过反射可以得到*.exe或*.dll等程序集内部的接口、类、方法、字段、属性、特性等信息,还可以动态创建出类型实例并执行其中的方法。 反射指程序可以访问、检测和修改它本身状态或行为的一种能力。 通俗一点:我们在获取其他实体类的字段名或实列,只能获取公有的,而有了反射之后可以获取私有的,可以获取他的基类等等,可以说把家底查得清清楚楚 创建一个学生类,里面有公有姓名,私有年龄但提供get方法,以及Home住址不提供get方法 利用反射获取类型 在用反射对类进行操作之前,我们要先获取到类,下面是反射获取类的两种方式👇...
wpf webBrowser控件 常用的函数和内存泄漏问题
介绍 WebBrowsers可以让我们在窗体中进行导航网页。 WebBrowser控件内部使用ie的引擎,因此使用WebBrowser我们必须安装ie浏览器(windows默认安装的)。 使用 直接在xmal中使用webBrowser控件 <WebBrowser x:Name="WebBrowser1" Source ="xxx.com"></WebBrowser> 其中Source熟悉可以将webBrowser控件指向一个网页(也可以是本地文件的绝对路径) 除了使用Source属性还有以下方法进行导航: 问题 js报错 默认情况下webBrowser用的是比较低的ie内核,这样如果访问的网页有不支持的脚本或者其他问题,就会没有办法正常运行,比如报错 javaScript错误。某些情况下使用ie可以打开的网页,在webBrowser需要管理员权限才可以正常打开,没有管理员权限也会报jabaScript错误。所以一般使用winForm的webBrowser,方便扩展,并且资料多。 避免报错不弹提示框。 WebBrowser1.Navigated += (sender, args)...
模拟.NET应用场景,综合应用反编译、第三方库调试、拦截、一库多版本兼容方案 - Dotnet9个人博客 - 博客园
免责声明 使用者本人对于传播和利用本公众号提供的信息所造成的任何直接或间接的后果和损失负全部责任。公众号及作者对于这些后果不承担任何责任。如果造成后果,请自行承担责任。谢谢! 大家好,我是沙漠尽头的狼。 本文首发于Dotnet9,结合前面两篇(如何在没有第三方.NET库源码的情况下调试第三库代码?和拦截、篡改、伪造.NET类库中不限于public的类和方法),本文将设计一个案例,手把手地带大家应用这两篇文章中涉及的技能,并介绍一种支持多个版本的库的兼容性解决方案(涉及第三方库的反编译和强签名)。 本文的目录如下: 前言 案例设计 使用dnSpy进行调试 使用Lib.Harmony拦截 引入高版本Lib.Harmony:支持多个版本的库的兼容性使用 总结 1.
c# 如何将程序加密隐藏? - tokengo - 博客园
下面将介绍如何通过LiteDB将自己的程序进行加密,首先介绍一下LiteDB。 LiteDB LiteDB是一个轻量级的嵌入式数据库,它是用C#编写的,适用于.NET平台。它的设计目标是提供一个简单易用的数据库解决方案,可以在各种应用程序中使用。 LiteDB使用单个文件作为数据库存储,这个文件可以在磁盘上或内存中。它支持文档存储模型,类似于NoSQL数据库,每个文档都是一个JSON格式的对象。这意味着你可以存储和检索任意类型的数据,而不需要预定义模式。 LiteDB提供了一组简单的API来执行各种数据库操作,包括插入、更新、删除和查询。它还支持事务,可以确保数据的一致性和完整性。 LiteDB还提供了一些高级功能,如索引、全文搜索和文件存储。索引可以加快查询的速度,全文搜索可以在文本数据中进行关键字搜索,文件存储可以将文件直接存储在数据库中。 LiteDB的优点包括易于使用、轻量级、快速和可嵌入性。它的代码库非常小,可以很容易地集成到你的应用程序中。此外,它还具有跨平台的能力,可以在Windows、Linux和Mac等操作系统上运行。...
C#反射(Reflection)详解_wx64a4df44a0930的技术博客_51CTO博客
爱吃香蕉的阿豪 2023-07-10 09:27:30 ©著作权 文章标签 程序集 Test 字段 文章分类 .Net 后端开发 ©著作权归作者所有:来自51CTO博客作者爱吃香蕉的阿豪的原创作品,请联系作者获取转载授权,否则将追究法律责任 简介: 反射是.NET中的重要机制,通过反射可以得到*.exe或*.dll等程序集内部的接口、类、方法、字段、属性、特性等信息,还可以动态创建出类型实例并执行其中的方法。 反射指程序可以访问、检测和修改它本身状态或行为的一种能力。 通俗一点:我们在获取其他实体类的字段名或实列,只能获取公有的,而有了反射之后可以获取私有的,可以获取他的基类等等,可以说把家底查得清清楚楚 案例 创建一个学生类,里面有公有姓名,私有年龄但提供get方法,以及Home住址不提供get方法 namespace Project; public class Student { //公开信息id public int id { get; set; } //公开信息Name public String Name; //私有信息年龄 private int Age;...
如何计算一个实例占用多少内存? - Artech - 博客园
我们都知道CPU和内存是程序最为重要的两类指标,那么有多少人真正想过这个问题:一个类型(值类型或者引用类型)的实例在内存中究竟占多少字节?我们很多人都回答不上来。其实C#提供了一些用于计算大小的操作符和API,但是它们都不能完全解决我刚才提出的问题。本文提供了一种计算值类型和引用类型实例所占内存字节数量的方法。 我们都知道CPU和内存是程序最为重要的两类指标,那么有多少人真正想过这个问题:一个类型(值类型或者引用类型)的实例在内存中究竟占多少字节?我们很多人都回答不上来。其实C#提供了一些用于计算大小的操作符和API,但是它们都不能完全解决我刚才提出的问题。本文提供了一种计算值类型和引用类型实例所占内存字节数量的方法。 sizeof操作用来确定某个类型对应实例所占用的字节数,但是它只能应用在Unmanaged类型上。所谓的Unmanaged类型仅限于: 原生类型(Primitive Type:Boolean, Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, IntPtr, UIntPtr, Char,...
HybridCLR(代号wolong)/huatuo新一代热更新方案_Jerrt-J的博客-CSDN博客
huatuo 现已改名 HybridCLR, 而原来的huatuo仓库由途游接着维护 本文章主要以HybridCLR仓库为例说明:focus creative games(代码哲学) · GitHub hybridclr 仓库为核心仓库 il2cpp_plus 仓库为改造过的il2cpp仓库添加解释核心仓库的代码指令 hybridclr_trial 仓库为示例仓库 在此之前,我们先了解下Unity的发展: 阶段一: C#的出现; 微软开发出一套符合自己的标准出来,于是在Windows系列的平台上把.net的标准开发出来,就是说我们开发者只需要开发出来符合.net 字节码的标准代码, 我们就可以让我们的代码在.net上运行起来; 阶段二: Mono项目; 为了实现跨平台(Linux, Windows, Android,MacOS等平台), 于是就有了.net虚拟机的出现,结合.net开发环境,造就了Mono项目; 阶段三: Unity采用了Mono方案实现了跨平台 阶段四: IL2CPP 项目; 为什么会出现IL2CPP 项目, Unity发现使用Mono出现了那些问题?
MySqlExpress - Convert Rows From MySQL into Class Objects
Download MySqlExpress.v1.7.2.zip Github Nuget (MySqlConnector) Nuget (MySql.Data) Introduction MySqlExpress converts rows from MySql tables into class object automatically. Background Let's take a look at a typical traditional way of how MySQL is handled in C#.
C# 11 and .NET 7 Bring Generic Parsing
One of the basic design patterns in .NET is the static Parse function. Virtually every class that can be instantiated from a string representation has one. Yet before C# 11 and .NET 7, there was no way to create an interface that accommodated this. The fundamental problem is before now, abstract interfaces (i.e. the interface keyword) didn’t support static functions. This wasn’t just a C# limitation, the CLR itself didn’t support it before the introduction of the feature.
Unity自定义属性(Attribute)示例_unity 自定义attribute-CSDN博客
一.自定义属性,使用场景 a.想知道当前的工程内定义过的特定的类 b.想知道当前工程内,类中定义过的特定的成员(变量,方法) 二.自定义属性介绍 a.需要继承自 System.Attrbute。 可以有自己的成员 b.Attribute参数说明: 参数一:代表该属性使用的位置。例如:field, method, class等,详细看枚举 参数二:字面意思,是否允许多个存在 参数三:表示派生类,是否也拥有该属性。 True:表示拥有 c.
.NET MAUI 性能提升_maui运行效率和原生安卓_微软技术栈的博客-CSDN博客
.NET多平台应用程序UI (MAUI)将android、iOS、macOS和Windows API统一为一个API,这样你就可以编写一个应用程序在许多平台上本机运行。我们专注于提高您的日常生产力以及您的应用程序的性能。我们认为,开发人员生产率的提高不应该以应用程序性能为代价。 应用程序的大小也是如此——在一个空白的.NET MAUI应用程序中存在什么开销?当我们开始优化.NET MAUI时,很明显iOS需要做一些工作来改善应用程序的大小,而android则缺乏启动性能。 一个dotnet new maui项目的iOS应用程序最初大约是18MB。同样,在之前的预览中.NET MAUI在android上的启动时间也不是很理想: 应用程序 框架 启动时间(ms) Xamarin.Android Xamarin 306.5 Xamarin.Forms Xamarin 498.6 Xamarin.Forms (Shell) Xamarin 817.7 dotnet new android .NET 6 (早期预览) 210.5 dotnet new maui .NET 6 (早期预览)...
Decorator Pattern in C# - 3 versions
This article is a tutorial on Decorator Pattern in C#. First, we show the Classic Decorator pattern, which is described in the literature and by GoF books. Then we show 2 alternative versions, that can be viewed as “modern-C#-enabled” versions of the pattern. The intended audience is Intermediate C# programmer and above. Download source Introduction Decorator Pattern is one fascinating and very popular pattern.
ASP.NET Core Web API: Plugin Controllers and Services
A concise guide on how to implement plugin controllers and share services between the ASP.NET Web API application and the plugin. Download Application.zip - 785.9 KB ASP.NET Core: Plugin Controllers and Services The middle ground between monolithic applications and an explosion of microservices. I find that maintaining an enterprise level web API tends to result in a large monolithic application, particularly in older technologies such as Microsoft's MVC framework.
C# 10 new feature CallerArgumentExpression, argument check and more
Microsoft Most Valuable Professional (CodingOnWheels.com) & Photographer (PicturesOnWheels.com). Code examples: GitHub.com/Dixin/Blog. The CallerArgumentExpression has been discussed for years, it was supposed to a part of C# 8.0 but got delayed. Finally this month it is delivered along with C# 10 and .NET 6. In C# 10, [CallerArgumentExpression(parameterName)] can be used to direct the compiler to capture the specified argument’s expression as text.
Dynamic Service Result Builder (Exception Pattern, Result Pattern, Decorator Pattern)
I answer some questions that cross our minds when we start designing our Application. What type will we return when calling Methods of Services? What properties will it contain? Will the expected result of this method be sufficient? In this topic, I attempted to answer these questions by offering some scenarios about how services methods would connect to the ASP.NET Core 3.1 Controllers.
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with Binding
Contact Binding, search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack