aspnetcore过期时间等问题探索
简书链接:aspnetcore过期时间等问题探索文章字数:516,阅读全文大约需要2分钟不能马上测试的的问题我尝试设置15秒时效,发现等了几分钟也没失效需要覆盖默认值ClockSkew 改成0 就能立马测试出来了。 123456789101112options.TokenValidationParameters = new TokenValidationParameters { //NameClaimType = JwtClaimTypes.Name, //RoleClaimType = JwtClaimTypes.Role, ValidateIssuer = true, //是否验证Issuer ValidateAudience = true, //是否验证Audience ValidateLifetime = true, //是否验证失效时间 RequireExpirationTime = true, //过期时间 ...
sqlserver自定义排序的可行性
简书链接:sqlserver自定义排序的可行性文章字数:467,阅读全文大约需要1分钟经过我的组词描述然后进行百度搜索果然是可以随意自定义排序的,不是非得order by 固定字段 之所以有这个需求,是因为查询的时候需要按固定工序进行流程作业,之前后端那边是写死的,然后根据此一个一个查询对应的id显得多此一举,但是我这个一次性查的排序问题困扰了我,不过我认为可能sql有这样的自定义排序功能所以进行了百度果然。。。 1234567891011121314select * from XXX order by case when A.NAME='你' then 1 when A.NAME='方法烦' then 2 when NAME='付费烦烦' then 3 when A.NAME='飞飞飞烦入' then 4 when A.NAME='非法' then 5 when A.NAME='不不不入' then 6 ...
wsaandroid子系统安装
简书链接:wsaandroid子系统安装文章字数:492,阅读全文大约需要1分钟https://store.rg-adguard.net输入https://www.microsoft.com/store/productid/9p3395vx91nr 切换为show 下载最后面的bundleMicrosoftCorporationII.WindowsSubsystemForAndroid_2210.40000.7.0_neutral_~_8wekyb3d8bbwe.msixbundle http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/15af34f3-b0f6-42bb-9e95-19888b0c545c?P1=1669020944&P2=404&P3=2&P4=B8WuVMypHnTgbIUlwNT7e%2bEawHgCCwh1ow%2f5e27QTvLNfroa%2fwvW%2foxuS5lXaBcDj4P9bavebk9QjkH7gLORpg%3d%3d ...
c匿名接口的研究代替方案
简书链接:c匿名接口的研究代替方案文章字数:562,阅读全文大约需要2分钟最近又翻了一下c# 7.0的新特性又看了文档,我突然在想为啥我以前写的代码为啥不用接口,我又给改回去了,结果发现好像不支持匿名,搞了半天,我又一次踩坑,记性太差了我,自己以前为啥这么做现在忘了,于是我干脆针对这个问题进行了一番研究,最后得到了总结方案。 c#不能使用匿名接口,我之前用的方法是 直接用委托,但是委托个人觉得可读性真的很差。 首先 是委托版: 12345678910 ExeceProxyBeforeAfter execeProxy = delegate (int flag, SqlHelper sqlHelper, object procParam) { if (flag == 0)//before =0 after =1 { return null;//代表不处理返回结果 , }; return...
c自动写入编译时间的研究
简书链接:c自动写入编译时间的研究文章字数:127,阅读全文大约需要1分钟好处就是每次发布版本我访问网站接口自动知道。网上最多的方法是获取文件名的修改时间,System.IO.File.GetLastWriteTime(this.GetType().Assembly.Location)另外此方法极易被修改,不靠谱。 这种方法不科学的兄弟,而且aot是不支持使用assembly类的。c++支持__TIME__ 宏定义来实现。JAVA可以借助gradle直接硬编码注入到代码中去。而c#我不知道咋办 https://stackoverflow.com/questions/1309164/equivalent-of-date-time-macros-in-c-sharp https://www.cnblogs.com/oloroso/p/9365749.html
虚幻引擎5快速入门笔记实现创建一个界面和入门unity对比
简书链接:虚幻引擎5快速入门笔记实现创建一个界面和入门unity对比文章字数:1375,阅读全文大约需要5分钟首先吐个槽,陆陆续续看了好多次视频我发现我还是不会虚幻引擎,直到我学会了unity再回来直接看文档,几分钟领悟…论理解的重要性…而且网上都偏向那个材质球玩意为主, 文档学习是最快的方法 首先 新建选择空白项目 在内容管理器新建关卡 此东西等于unity的新建场景或者 菜单新建 在unity里面 场景如何挂载逻辑呢? 在unity里面是添加脚本类然后挂载上去就行,那么这个怎么指定呢直接选择当前的关卡 菜单打开关卡蓝图 然后右键新建一个事件开始运行 然后保存,因为第一次打开,所以需要指定文件名. 添加界面 ,那么在unity等于一个在场景里面新建画布然后摆放好控件存为预制体但是在虚幻引擎 中设计更合理没那么麻烦,直接新建 控件蓝图就代表一个界面. 这样可以轻松的控制隐藏显示,不像unity那样难用 下面是创建好的东西 先打开关卡蓝图, 点击箭头连线->然后选择创建控件...
百度低代码温习笔记
简书链接:百度低代码温习笔记文章字数:731,阅读全文大约需要2分钟前几个月研究了低代码很快给公司完成了一个简单的管理后台,当然,后端接口自己写的。前端全部自动化,https://aisuda.bce.baidu.com/amis/zh-CN/docs/index 学了很多 但是长时间没弄,还是会遗忘,现在已经忘得完全不知道是怎么回事了, 我学过的东西很少有坚持持续的去回顾的。想到了著名的费曼学习法,或许我只知道学试试新鲜感,却没有反复的去用,是导致我只能刚刚入门这样子,我想,我还是需要做点笔记的,虽然不会很详细,但是或许可以让我联想起来我曾经学过的东西...
多个客户定制的app名字一样另类识别技巧
简书链接:多个客户定制的app名字一样另类识别技巧文章字数:117,阅读全文大约需要1分钟无意中看到别名技术实现桌面图标更换,于是我拿来区分客户。但是测试的时候不太好区分,这个时候可以用别名。。当然用channel定义不同字符串资源也是可以的默认禁用,判断是测试版就启用。 123456789101112131415161718192021222324252627<activity-alias android:icon="@drawable/company_logo" android:name="xxx.xxx.FullActivity" android:enabled="false" android:targetActivity="aaaa.SplashActivity" android:label="@string/app_name" ...
关于按键回车改变焦点为其他编辑框引发bug解决探索
简书链接:关于按键回车改变焦点为其他编辑框引发bug解决探索文章字数:877,阅读全文大约需要3分钟 123456public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (BaseUtil.isEnterKey(actionId, event)) { onMaterialEnter(v.getText().toString()); } return true; } 在按键回车同样触发onEditorAction 返回true 然后发现其他编辑框为空,让他调用其他编辑框焦点,结果会立马调回来,哪怕post()但是软键盘没有此问题。。 因此此种情况怕是要多延长几秒了。目前没想到解决办法。2022-11-21...
c再现bug之keyvaluepair出现了套娃情况
简书链接:c再现bug之keyvaluepair出现了套娃情况文章字数:368,阅读全文大约需要1分钟之前是value是这样的 结果执行到下面一句被套娃了一层pair,我内心是崩溃的,这是我用c#遇到的第二个bug了,第一个bug也是类似情况执行sql存储过程 结果刚开始取的时候没变化 执行了几行后发生了变化被置空了。 最后发现根据语法提示pair.value.value能自动提示出来为啥会这样呢,怀疑和空有关。最后我是这样写的,2种方法都可以 123456789KeyValuePair<bool, object>? pair = null; pair = execeProxyBeforeAfter(0, sqlHelper, sqlCommand); if (pair != null && (pair?.Key ?? false) == false)//之前是需要判断是否为false, false拦截 { string value2 =...