所以在这个程序集里,即使你给你自己的Exception
派生类的GetObjectData
重写应用了SecurityCriticalAttribute
,这个函数实际上还是安全透明(Security Transparent)的。(可以用反射获知。)但Exception.GetObjectData
是安全关键(Security Critical)的,所以在沙盒程序集中以部分信任的方式加载引发TypeLoadException
也算是在情理之中吧。比如 Continue reading “在部分受信任程序集中,所有的代码都是安全透明的”
如果父进程在子进程启动后创建匿名管道……
那么这些管道句柄将不会由子进程继承。 Continue reading “如果父进程在子进程启动后创建匿名管道……”
手绘
给之前写的JSON-RPC库配了个图。如下图所示,亮瞎眼不偿命 Continue reading “手绘”
突然重复造轮子
大概是想用C#写一个language server给VsCode用,然后发现需要在C#中解析JSON RPC请求。之前在GitHub上大概找了一下,发现貌似有现成的轮子可以用,然而…… Continue reading “突然重复造轮子”
尝试了一下Bot Framework
方才刷了一波MS信仰。明天可以看看自然语言处理工具包。
GitHub:https://github.com/CXuesong/HalfMoon.Endpoint
试用体验:https://github.com/CXuesong/HalfMoon.Endpoint/wiki/%E8%AF%95%E7%94%A8%E4%BD%93%E9%AA%8C
另外,由于目前BotBuilder暂时仅支持.NET Framework 4.6,因此无法将其配合.NET Core使用,也就无法在除Windows以外的系统上运行了。不过,根据#2346的情况,说不定过几天我们就可以将机器人移植到ASP.NET Core上了。 Continue reading “尝试了一下Bot Framework”
AsyncEnumerable 随笔
AsyncEnumerable
主要是伴随着对异步迭代器的需求而产生的。之前在编写WikiClientLibrary的时候,遇到了一个和分页相关的问题。比如我们要从维基服务器获取所有页面的列表。一个最简单、使用异步的想法如下所示
public async Task<IEnumerable<Page>> FetchAllPagesAsync(Site site) { JToken json = await site.SendReuestAsync(/* ... */); // 向服务器请求所有页面 IList<Page> result = PagesFromJson(); // 将获取到的JSON转换为页面列表 return result; }
这样,客户程序可以使用循环或者LINQ来使用这些条目序列。
但情况没有这么简单。服务器在一次请求中最多只能返回500条结果,那么对于大部分的维基而言,我们可能需要多次请求才能获取到所有的结果。那么,我们要怎么处理这种情况呢?
写了一个MediaWiki客户端库
基于.NET PCL的一个异步访问的MediaWiki客户端库,支持.NET Framework 4.5、ASP.NET Core 1.0、Xamarin.iOS和Xamarin.Android,MediaWiki API最低尝试过MediaWiki 1.19 (Wikia)。欢迎前来围观!
坑址:https://github.com/CXuesong/WikiClientLibrary
其他MediaWiki客户端库:https://www.mediawiki.org/wiki/API:Client_code
宣传一下:好像还没想好可以怎么宣传。总之,支持大部分常见的增删查改API,支持生成器,支持文件上传,查询结果无痛分页(使用IAsyncEnumerable
)。
BoP 2016 复赛不完全实况
竞争还是很激烈的。题目大致是要求参赛队伍基于 Oxford API 来编写一个 Web API 。最终得分与 Web API 返回正确结果的数量和用时有关。在码代码和修 bug 之余,我对排行榜进行了间歇性的人工统计。尤其是对排名靠前的队伍,估计了他们的请求应答时间。以下放出部分数据。其中,“Elapsed Est”是根据得分,在假定返回结果完全正确的情况下,以秒为单位的总应答时间估计值。 Continue reading “BoP 2016 复赛不完全实况”
BOP2016 PRELIM B Leaderboard
谨以此纪念我逝去的……(额我还没想好)
以下是 BOP 2016 第二次初赛的最终得分名单,按照 Code Hunt 网站给出的顺序列出。数据源于个人抓取,仅供参考。
总计 1096 人的得分大于 0 。其中有 761 人未参与 PRELIM A;其余 335 人中,151人名次上升,183人名次下滑,还有一位 `2jjy` 仍然处于冠单状态。
Continue reading “BOP2016 PRELIM B Leaderboard”
Code Hunt
开始的结束与结束的开始。
据说微软2016编程之美(http://studentclub.msra.cn/bop2016/,报名截止4月23日)初赛将会使用 Code Hunt 平台进行。于是我花了两天的时间试了一下。
网上有人说需要翻墙。但之前使用教育网访问是没有问题的,不过建议使用 Chrome 浏览器,IE略卡。
Zone: BOP 2016 Test
题型比较基础,但入手比较费时间。顺带一提,LINQ大法好。 Continue reading “Code Hunt”