在部分受信任程序集中,所有的代码都是安全透明的

所以在这个程序集里,即使你给你自己的Exception派生类的GetObjectData重写应用了SecurityCriticalAttribute,这个函数实际上还是安全透明(Security Transparent)的。(可以用反射获知。)但Exception.GetObjectData是安全关键(Security Critical)的,所以在沙盒程序集中以部分信任的方式加载引发TypeLoadException也算是在情理之中吧。比如 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条结果,那么对于大部分的维基而言,我们可能需要多次请求才能获取到所有的结果。那么,我们要怎么处理这种情况呢?

Continue reading “AsyncEnumerable 随笔”

写了一个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)。

Continue reading “写了一个MediaWiki客户端库”

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”

Content is available under CC BY-SA 3.0 unless otherwise noted.