Edi Wang

All Posts 286


如何解决AngularJs在IE下取数据总是缓存的问题

如果用AngularJs在IE下发出GET请求从后台服务取完Json数据再绑定到页面上显示的话,你可能会发现就算数据更新了,IE还是会显示原来的结果。实际上这时候IE的确是缓存了hashtag,没有再次去做Http GET请求最新的数据。 最直接的办法是在后台撸掉OutputCache,但这种做法并不推荐,需要改每一处被Angular调用的地方,代价太大。这种问题应该在前端解决最好。研究了一会儿总结了最有效的解决方法,并不需要改后台代码了。 在你的app config里撸一个$httpProvider进去,比如像我这样,和路由可以配在一起,当然分开配也没问题。 var config = ["...

AJAXIEAngularJs

Windows Phone Runtime 8.1 按返回键彻底关闭App

Windows Phone Runtime 8.1里面的坑不止一点点,最明显的是很多应用以前可以通过按返回键关闭,但是在8.1之后,如果你用了WinRT的runtime写程序,就会发现返回键的行为仅仅是返回WP的主屏幕,而不是关闭App。长按返回键你会发现你的App是被“最小化”在后台了。WP8.1的新版日历应用也是这样。 虽然这对系统性能没有什么影响,但是让处女座用户看见了就会感觉不爽,所以我们还是把它改掉吧。 WinRT里面这个硬件返回按钮是有专门的事件的:HardwareButtons.BackPressed。我们需要处理的情况仅仅是在应用的主页面上,按手机返回按钮关闭App,所以不...

WPWinRT

Windows Phone Runtime 8.1 如何显示系统状态栏(以前的SystemTray)

首先。。。虽然我文章写的2,但是国内愿意主动分享WP开发经验的博客太少了,大家都是粉,为了这个平台不容易,所以我有点什么都会拿出来分享,觉得文章菜的请不要喷。。。 开发WP8.1的小伙伴们如果选择了WinRT的runtime,可能会被坑:如果你的手机主题是黑色的,但是你的应用选择了白色主题,就像这样 RequestedTheme="Light" 那你会发现,虽然你在写UI配色方面偷懒了许多,但是WP的系统状态栏(显示信号、时间的地方),也就是Silverlight Runtime里称作SystemTray的,配色并不会因为你选择了“Light”而变成黑色这种对比色,它始终是跟着手机系统设置走...

WPWinRT

Windows Phone 8.1 Silverlight运行时StorageFolder.GetFolderFromPathAsync爆掉的问题

微软说好的一键Target WP8.1的神话终究还是个坑。不少朋友发现有些API虽然编译通过,但依然是爆炸的。比如 await StorageFolder.GetFolderFromPathAsync(); 运行时会就直接爆炸了: 这个坑留在我的几个应用里好久了,今天刚解决。方法是换个API。。。。。 原来是这样子: var path = await StorageFolder.GetFolderFromPathAsync("Assets/StationFloorMaps/"); var imgTemplate = await path.GetFileAsync(_imgPath....

SilverlightWindows Phone

如何使用Microsoft Azure RemoteApp科学上网

之前给大家介绍过《图解:如何在Windows Azure上搭建SSTP VPN(你们懂的)》,VPN的方法依旧是最好用的,然而也有一定的缺点,比如开关机之后网卡会重新分配,所以得重配VPN才能用,另外VM服务是收费的,如果你的国际版Azure是自费使用的话会非常贵。 今天给大家介绍一种方法,只能用来看网页,但完全是免费的,可以长开,不需要繁琐的配置。其实它就是把Windows Server中的Remote App给搬到Azure上了,直接变成了一个服务,不需要你自己开VM做Server,就像WebSite这种服务类似,不需要你开VM装IIS,只要直接使用服务即可。 Windows Azure R...

AzureRemoteApp

VS2013插件开发:如何获取Solution Explorer中选中的文件路径

最近在爆个插件,有个需求就是能够在Solution Explorer中右键点击某个文件然后做一些下流的操作,那么首先就要想办法得到用户选择的文件或者文件们。肿么搞呢。研究了一下WebEssential的代码,总结了一下: 首先,你需要获得DTE2对象,貌似指的是你当前的VS实例。为了方便使用定义成一个静态属性,放到package类里面: 也就是继承Package类的那个类,比如public sealed class ForeverAlonePackage : Package private static DTE2 _dte; internal static DTE2 DTE {...

VSIX

如何迁移Microsoft Azure Application Insight

本文目前仅适用于国际版的Azure,国内版没有Application Insight服务,请注意。如果你还没有感受过Application Insight这个人类的最新希望,可以到大微软的Channel 9电视台学习一下:http://channel9.msdn.com/Series/Application-Insights-for-Visual-Studio-Online 另外,本文所说的迁移方法不会保留Application Insight的历史数据,如果你看到这里就想喷:你TM在逗我?这叫什么迁移? 。。。 那还是别往下看了。我的标题叫迁移,是因为我实在找不到别的词了。 如果你换了个Mi...

Visual StudioAzureApplication Insight

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,...

EntityFrameworkSQLNullable

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

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

AzurePowerShellVM