Edi Wang

All Posts 281


Surface Pro 3 防煎蛋经验

Surface Pro 3刚刚在国内上市,很多用户和我一样发现它经常发热严重,可以煎蛋。首先这并不是美版或国行的问题,大家都是会煎蛋的。我的美版用了一个多月下来,总结了一些防煎蛋经验,分享给大家,希望有所帮助。 首先,Surface Pro 3在插着电源和靠电池运行的时候,煎蛋的程度是不一样的。在默认的“平衡”电源计划下,插着电源使用是会煎蛋的,这是正常的。所以本文讨论的都是靠电池运行时候的配置。 1. 亮度 影响煎蛋和电池续航最显著的是亮度设置。如果你的亮度太高,会发现一个警告: 经过开荒,能让这个警告消失的阈值是40%,这个精确值在电源选项里是可以改的: 2. 对煎蛋效果影响...

Surface

EntityFramework 6 SqlQuery传递可空类型参数的写法

有时候我们需要在EF里直接执行参数化的SQL语句,如果有返回,就要把结果映射成C#对象集合。貌似是从EF4.2开始(4.0写法不一样)提供了DbContext.Database.SqlQuery()的API可以直接执行SQL。但是如果碰到可控类型的参数,比如Guid?,就会爆。 看一个例子,定义的SQL语句如下: string sql = @"SELECT p2.Id AS PeriodId, p2.Title AS PeriodTitle,...

EntityFramework SQL Nullable

如何定时开关机Microsoft Azure上的虚拟机

作为一个屌丝,用Azure的时候得处处想着省钱,在你不用虚拟机的时候关机是个省钱的好办法。当然,每天手动登录Portal去开关机比较麻烦。如果你用VM的时间段比较固定,可以做个定时开关机的任务帮你省钱。 做法是用一台机器作为Controller,在上面建立开关机任务,调度Azure上的VM。比如你自己的机器每天早上8点开机,下午5点关机。你希望Azure上的某台VM早上8:30开机,下午4:30关机。那你就可以把自己的机器作为Controller。当然,你也可以在Azure上开一台专门作为Controller的Server,给它分配一个768MB内存的屌丝instance(diaostance)...

Azure PowerShell VM

图解:如何在Visual Studio 2013中连接中国版的Azure

VS2013的Server Explorer在第一次连接Azure的时候默认弹出的登录框只能登录国际版的Azure。但是国内很多屌丝没有国际版怎么办呢?其实国内世纪互联运营的windowsazure.cn也可以通过导入订阅的方式来连接。 1. 登录国内版Azure之后,访问这个地址,下载你的订阅文件:https://manage.windowsazure.cn/publishsettings/index 2. 在VS2013里打开Server Explorer,不管你有没有连接到国际版的Azure,这里操作方法都是一样的。在“Azure”上点右键,选择“Manage Subscriptio...

Azure

Windows Phone 8.1 (WinRT) 如何实现Timer

最近在用WinRT重写以前的一个应用,需要显示一个时钟,结果发现没有Timer控件。。。 看来只能自己写代码实现了。屌丝的做法是Thread.Sleep,但那个会卡UI线程,用户会操作不了任何东西。正确的思路应该是用.NET 4.5的async await,不会卡UI线程。替代Thread.Sleep的方法是Task.Delay,它是awaitable的,所以代码是这样的: while (true) { // 要做的操作 await Task.Delay(毫秒); } 为了增加逼格和可重用性,我们需要进一步封装。注意观察本高(diao)手(si)是如何一步步提高逼...

WP async await WinRT Timer

Windows Phone 8.1 DatePicker和TimePicker控件的数据绑定

Windows Phone Runtime 8.1 (WinRT) 自带了DatePicker和TimePicker控件。妈妈再也不用担心我装WPToolkit了。但是和WPToolkit里面的两个Picker不同,WinRT的控件在MVVM模式里做data binding的时候是要爆的。 首先是DatePicker。 具体的情况表现为:ViewModel里的属性是DateTime类型,并且VM正确实现了INotifyPropertyChanged接口,前台直接用Binding语法绑定这个属性,但VM变化,界面不变。界面变化,VM不变。代码看起来就像是这样: Xaml: ViewMod...

WP DatePicker WinRT

Surface Pro 3 个人使用评测之系统和软件

话说没有优秀软件的硬件就是一坨翔,这话说的一点都没错。Surface Pro系列之所以牛逼,就因为它不仅有充满现代科技感的硬件设计,更有完整的桌面版Windows 8.1,有了Windows几乎啥事都能干了,根本不用把果蛆pad放在眼里。今天写的这篇文章就是我使用Surface Pro 3近一个月来对于操作系统和软件的感受。也会教大家一些调教技巧,让你的Pro 3更顺手。 一、Windows版本 美版Surface Pro 3搭载的是Windows 8.1 Pro x64英文版。系统属性和EULAID是这样的: 和Surface RT、Surface 2不同,Pro系列是基于x86架构的...

Windows Surface DPI

Surface Pro 3 个人使用评测

首先声明,本文完全是个人撰写,没有收受任何媒体的好处。所有内容均为事实。网上关于Pro3的评测很多,说(chao)来说(chao)去都是那些东西,或者就是翻(chao)译(xi)国外的文章,然后忘记写出处。相信各位都已经看腻了。所以我会发一些他们没有说到过的内容,目前应该是独家的,相信很多细节也是有人在意的。 一、DPI Surface Pro 3的屏幕是12寸,2160x1440的,DPI默认为150%。但屏幕点距比Pro2的小一点点,所以同样DPI的时候字体要比Pro2稍微小一点点。我的个人使用习惯是125%。 至于很多朋友关心的,100%DPI下需不需要配显微镜才能看,答案是:不需要!...

Surface DPI

Portable Class Library中如何调用WCF OData Service

上个月发布了一个WP8.1应用:NuGet Search,并在GitHub开了源:https://github.com/EdiWang/WP-NuGetSearch NuGet的服务接口是个WCF OData Service,为了装逼,我尝试使用了跨Framework的PCI工程,结果no zuo no die了。和一般.NET类库不同,PCL有些tricky的地方要爆。下面是开荒成功的代码: public async Task GetDataAsync(string searchTerm, int pageIndex, bool includePreRelease = false) {...

WCF PCL OData

我在《上海轨道交通》中是如何解决Windows Phone拼音分组bug的

我的App《上海轨道交通》有个很坑的bug,按拼音首字母分组的站点列表会出现分组错误的情况,比如“莘庄”应该在X下,而WP的SortedLocaleGrouping居然把它分在了S下。这是因为“莘庄”的“莘”是多音字。同理,应该在C下的“长江南路”也到了“Z”下。类似的还有: 分组的代码用的是MSDN的范例改的:http://msdn.microsoft.com/library/windows/apps/jj244365(v=vs.105).aspx 这个范例对于英文来说是没问题的,中文就会出现多音字的问题。 为了解决这个坑爹问题,我写了个PinYinGroupResolver,用的时候可...

WP Group PinYin