网络 > csharp AOT中的XML序列化
2025-04-02
玩具项目引入序列化后,开始体会到CSharp的AOT的蛋疼了。所以也明白CSharp之父做的TSChekcer为啥要用golang不用csharp了。
两门语言对待AOT的优先级上的确不同,CSharp的AOT只是能用,绝对不是优势。
实现,CSharp开启AOT后,反射的功能就开始受限,这对于序列化的影响很大,解决方案是必须显示的指定可能用到的类。
第一个会出现的错误是,报找不到空参数构造函数。
---> System.InvalidOperationException: HellMapManager.Models.Map cannot be serialized because it does not have a parameterless constructor.
本质是因为没有指定可能使用的类型(以及子类中可能没指定)。
需要引入
using System.Diagnostics.CodeAnalysis;
然后在类定义中显示的指明
public partial class Map
{
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(Map))]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(MapInfo))]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(Alias))]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(Room))]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(Exit))]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(Route))]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(Variable))]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(Landmark))]
然后可能遇到的问题是提示
---> System.InvalidOperationException: You must implement a default accessor on System.Collections.Generic.List`1[[HellMapManager.Models.Room, HellMapManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] because it inherits from ICollection.
这是需要在使用XML元素的地方显式指定类型
[XmlArray(ElementName = "Rooms")]
[XmlArrayItem(typeof(Room))]
public List<Room> Rooms { get; set; } = [];
继续写,继续踩坑。
网络 > 试了下cf的saas功能
2024-07-23
挺,好玩的。
总的来说,cf提供一个反代服务,通过这个反代服务可以让不托管在cf的域名也能享受cf的cdn/waf。还能玩玩优选ip啥的。
好像每天有10w次的限额。
这就很大善人……
网络 > 尝试申请的商标被驳回了
2024-06-17
通过阿里云申请的。价格低,基本就是和管局费用差不多。本身就是做个尝试。
看了驳回理由,基本上确认了这个赚钱的套路。
驳回理由是和一个其他完全不象的商标冲突。
申请的时候其实需要细化很多东西,包括不要随便用黑白图片(查看冲突的商标是彩色而非黑白的)。
需要大量文字描述商标的含义和别人做区分。
然后没经验的几乎一定被拒,然后已经花了半年了,不在15天驳回复查期间花钱买服务的话就要重走流程的话代价太高了。
我不一样,我就是玩玩,这个logo时间差了觉得还是有大大小小的毛病……
网络 > ios app发布感受
2024-06-08
终于把app发布出来了。
apple developer program莫名其妙卡了我小半年是我没想到的……
成本的话
年费688
整了个最低配m2 mac mima 3000
费用还不低。
剩下的就是发布时需要一个支持网站信息,搞个域名和服务器成本就行。
毕竟app备案也需要用
app备案大概花了我2周。不过app和网站不完全一样,所以app备案感觉上没网站备案这么蛋疼。
然后就是必须要有一个真机设备的uuid,截图只类可以直接上模拟器。
总体来说,个人觉得,ios是渣,但apple store真的很神。
它的确应该能很方便的为普通开发者赚到钱。
只是很可惜,现在已经不是收费app的年代了
广告app和在线订阅,对于独立开发者的冲击不是一般的大。
所以,这口饭,也不是那么好吃的了吧……
网络 > 华为手机,使用Aurora store安装google play的app
2022-02-10
昨天想装github的手机版,各大国内市场没有,装了个Aurora store安装了
看描述的原理是使用匿名google account进行下载。
先试试安全性如何
网络 > certbot还是比acme.sh好用
2022-01-06
其实已经发现几次了。
今天一张le更新的证书快过期了
火线升级
最后还是certbot一键搞定。
除了通配符域名还没用certbot搞过。
其他地方,似乎的确是certbot好用点。
亲儿子可能的确有亲儿子的优势吧。
网络 > [记录]aliyun vpc的坑
2021-02-25
今天给一台阿里云服务器换了vpc,踩了点坑
表现为网站无法打开,vnc链接后服务器无网络
总结如下
- 切换vpc需要改ecs的网络配置
- ecs的网络配置,用dhcp未必起效
- 手工设置ecs的网络配置时,可能需要设置网关
- 网关地址没找到说明,我是把网段最后几个保留ip按个ping,再倒数第三个能ping同,然后设为网关,通了。
另外吐槽下,阿里云的工单改版。
不能直接提交工单,出来个伪对话框,普通工单120分钟内回复,紧急工单90分钟内回复,付钱10分钟内回复。
很好,很强大。
网络 > 腾讯企业邮箱开始不干人事了
2021-02-19
收到了腾讯企业邮箱的邮件
贵公司正在使用基础版的企业邮箱,目前有 5 个成员使用容量已超过普通帐号的 2G 上限,当前为超容使用中。建议将贵公司的企业邮箱升级到专业版,并把这些成员账号升级为VIP账号,即可不受容量限制。同时,专业版提供更多便捷管理功能,让工作更高效。了解专业版及VIP账号 注意:5天后,若邮箱账号未及时升级到VIP账号,2月24日起,这些账号容量将降级为标准容量。超出容量限制的邮箱账号将无法收到新的邮件,请提醒成员及时清理历史邮件,以免影响邮箱的正常使用。
无力吐槽。
啥玩意?
你要收费正常,之前的用户你觉得给的容量太多也正常。
但提前一周不到给个这个邮件?
这是准备做商业客户的态度?
你微盘送的免费空间吃了吐也就算了。
做对公业务的,早点提醒会死么?
但凡遇到个付款要审批的,怎么搞?
网络 > 阿里云cdn全站加速无法缓存图片的解决
2020-12-31
部分php生成的图片无法缓存,响应头永远是 x-cache: MISS TCP_MISS dirn:-2:-2
x-cache:
MISS TCP_MISS dirn:-2:-2
x-cache:
MISS TCP_MISS dirn:-2:-2
经过测试,需要设置缓存过期时间,并移除掉 Pragma 响应头
apache为例
Header unset Pragma
为什么这种特性在文档没有……
奇葩……