这不是BUG,是特性!——记一次 .NET C# 有/无符号字节数组非预期拆箱

作者:V君 发布于:2017-3-23 18:43 Thursday 分类:挖坑经验

TL;DR

检查可能是有符号字节数组的装箱对象要用 that.GetType() == typeof(byte[])

而不是 that is byte[] ,这和 CLR 实现机制有关. 似乎运行时不区分 byte[] 和 sbyte[]

装到 object 里的字节数组不管有无符号都能分别被有无符号数组拆箱出来...


扯扯:

处理一系列温度探头数据. 为了减小数据占用, 在检查了数值范围之后

选用了 sbyte 作为存储数据类型, 然而在自动可视化处理时被当做了无符号数组处理.

无符号数组一般表示二进制数据, 于是把温度以十六进制显示到界面上了. 好尴尬.

咕狗一把才发现原来还有这回事.

好吧 我就说一直以强类型自居的我大井怎么会有这么弱智的问题 _(:з」∠)_

标签: 软件开发 C# bug

评论(0) 引用(0) 浏览(1555)

解决一蛋痛的WCF-REST配置问题:未找到注册基址方案

作者:V君 发布于:2017-3-14 20:12 Tuesday 分类:挖坑经验

状况:

访问时出现以下错误

找不到具有绑定 WebHttpBinding 的终结点的与方案 http 匹配的基址。注册的基址方案是[]

注意, 注册的基址方案是空的, 和遍地都是的 “注册的基址方案是[http]”不同

 

TL;DR:

在 web.config 配置基址前缀就能解决该问题.

<serviceHostingEnvironment>

    <baseAddressPrefixFilters>

        <add prefix="http://localhost" />

    </baseAddressPrefixFilters>

</serviceHostingEnvironment>

扯扯:

扯你妹不想扯了, 花了好大劲都解决不了. 

结果 ServerAdmin 告诉咱们想起以前的项目遇到类似的情况时,负责人的做法...


so.解决不了配置问题的码农不是好运维? ( ゚∀。)

 

标签: 软件开发 C# ASP.NET MVC WCF REST 运行时错误

评论(0) 引用(0) 浏览(1338)

花式手动安装 Win7——无阉割完整安装64位Windows7仅需7G硬盘空间!

作者:V君 发布于:2017-3-6 4:41 Monday 分类:折腾手记

TL;DR: 

在 PE,NTFS 格式化分区启用压缩(可选), 7z 解开 install.wim\4, 激活分区并 bcdboot.

走完安装流程,去掉休眠文件和页面文件.

安装前启用 NTFS 压缩能让装完以后只占用 7G 多一点的硬盘空间.


扯一扯:

最近又给自己弄了台机器(你特么几台机了?), 需要装系统.

听说NT6安装工具会有奇怪的东西跑进系统, 所以尝试着自己手动进行.

还意外地发现安装前设置压缩能很给力 乂目


详细步骤:

●准备系统盘ISO

  不扯,MSDN你懂得 (´∀((☆ミつ

准备PE

  装系统首先要准备一个对应 32/64 位的 PE, 因为稍后要执行 bcdboot 设置启动引导.

创建一个分区用来装系统

  不想破坏原有系统的情况下,可以将系统盘收缩,在紧随其后的空间建立一个主分区.

  格式化成NTFS,并激活. 然后重启再次进入PE,确保激活的分区被识别为C盘.

●解开系统包

  用 7z 打开系统盘里的 install.wim 按需找版本目录, 一般情况下旗舰版是 4, 可参考xml

  把里面的东西解压到根目录,启用压缩能省下不少空间(貌似还能缩短wim解包时间?)

●设置引导

  开个命令行,转到 windows\system32 目录, 执行 bcdboot c:\windows /s c:

  然后重启就能进入Sysprep流程

●后续优化

  要达到装完以后只占7G硬盘空间, 需要禁止休眠 powercfg -h off

  还要去掉页面文件, 但还是推荐留下 512MB 供辅助诊断

标签: Windows7 系统安装

评论(0) 引用(0) 浏览(1360)

Powered by emlog 去你妹的备案 sitemap