Windows 7 应用程序崩溃恢复
从Vista 到Windows 7 这两款操作系统都带有应用程序恢复和重启(ARR)功能,利用这个特性可以在应用程序处于无响应甚至崩溃状态时,保存当前正在处理的数据,并将应用程序以及之前的数据恢复。本篇我们将利用Windows API Code Pack 来实现这一功能。 首先,我们来创建一个简单的WPF程序。在应用程序加载时需要注册(Register)ARR,当应用程序关闭时也需要将ARR注销。 <Window x:Class="AppRestartRecovery.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
http://cyqdata.cn/cnblogs/article-detail-2534
Web Deploy 高级应用:自动设置 ACL
引言
前一篇文章中讲解了 Web Deploy 技术的简单使用,以及避免已有的 ACL 设置被清除的办法。
而这一次我将会讲解在使用 Visual Studio (Express) 进行一键发布时自动完成 ACL 设置的办法。
原理
在解决上一篇文章的问题的过程中中提到了 MSBuild 指令的使用,稍加思考的话并不难得出这样一个结论:
Web Deploy 设置 ACL 的具体方式也是通过 MSBuild 操控的。
而如果我们调查了 Microsoft.Web.Publishing.targets 的话,就会发现这样的一些指令:
<!--Make sure the by default Networkservice/AppPoolIdentity have read permissing to the fodler-->
<MsDeploySourceManifest
http://cyqdata.cn/cnblogs/article-detail-2524
云计算-从基础到应用架构系列-云计算的概念
开篇
本篇是主要讲述什么是云计算,并且讲述云计算相比之前的一些比较新兴的计算模式之间的区别,并且简单的分析下云计算相比这些传统的企业应
用模式之间的优势及优缺点。由于本篇是云计算系列的开篇,可能概念性的内容相对来说多一些,我会尽量讲述的生动一些,加深大家对云计算的理
解,当然如果您在本文中发现错误之处,那么请您批评指出,谢谢。
摘要
“云计算”这个词,我想大伙肯定听过不止一次了,但是可能我们经常会被同行的同事或者业界的朋友问道,什么是云计算,云计算是干什么的?可
能让我们去跟他们解释的时候,我们并不是很容易的把这个词语解释的很清楚或者很形象,为什么,可能是因为我们对云计算本身的概念不是特别的清
晰,或者,由于我们没有深入的了解和使用云计算
http://cyqdata.cn/cnblogs/article-detail-2463
发布Apworks应用开发框架(Alpha版本)
Tiny Library CQRS的介绍文章有好些日子没有更新了,因为最近一直在忙着发布Apworks应用开发框架。原本打算在2011年1月1日发布,以迎接新年的到来,后来确定了还是在2010年12月31日发布,就算是给过去的一年做个留念。哈哈。
一直关注我的博客的园友都知道,之前我的一些领域驱动设计的案例,都是以Apworks为基础的。由于时间关系,Apworks一直没有一个固定的版本,所以在那些案例中,我都是将Apworks的程序集加入了案例的发布包里。现在,终于能够为Apworks整出一个“可用”的版本,并将其发布到了codeplex上,地址是:http://apworks.codeplex.com。版本:Alpha(v1.0.4016.23016)。有关Apworks的所有文档,我都上传到了http://apworks.org/documents.aspx。
http://cyqdata.cn/cnblogs/article-detail-2289
C#特性Attribute的实际应用之:代码统计分析
日常工作中,需要为程序集提供统计分析:
1:程序集方法数;
2:开发人员数目及各自所开发或REVIEW的方法数;
3:测试中,被标注有BUG的数目;
4:直接查看方法的IL代码;
鉴于以上统计的需要,特开发本EXE。
1:关于特性Attribute的知识补充
"Attribute是一种可由用户自由定义的修饰符(Modifier),可以用来修饰各种需要被修饰的目标"。它的作用是为它们的修饰目标追加上一些额外的信息——比如"这个类是我写的"或者"这个函数以前出过问题"等等。
它跟注释的区别是:注释是对程序源代码的一种说明,主要目的是给人看的,在程序被编译的时候会被编译器所丢弃,因此,它丝毫不会影响到程序的执行。而Attribute是
http://cyqdata.cn/cnblogs/article-detail-2263
WP7 App性能优化(10):检测应用程序性能(Ⅲ)
监视填充率
填充率是每一帧Silverlight传递给GPU构图的图形表层的像素数目。填充率实质上是GPU工作负载的一个度量。因此,应当随时了解自己的应用程序的填充率,以免其超出GPU的处理能力,而拖慢帧频。当应用程序的帧频超过2屏大小(每屏800*480)时,帧频将会开始降低。通常帧频的降低并不显著,除非填充率超过3.5屏的像素大小。可以通过观察帧频计数器的最后一个数字来判断当前帧频。重要的是要记住,UI线程的帧频永远不可能超过构图线程的帧频,因此如果填充率过高,将会影响应用程序的整体性能。
影响填充率的因素
每一个需要纹理的图形对象都会影响应用程序的填充率。纹理的像素数越多,填充率也越高。通常,影响填充率的有两个主要的因素。首先是基础表层,就是每一个未缓存对象周围的矩形。其次是缓存的所有元素,包括构图线程自动缓存的纹理,和开发者通过设置元素的位图缓存而缓存的元素。除了构图
http://cyqdata.cn/cnblogs/article-detail-2185
WP7 App性能优化(11):检测应用程序性能(Ⅳ)
填充率测试示例
该示例允许你添加和移除移动的矩形以观察对填充率的影响。每个矩形是屏幕的1/8大小,因为应用了动画,所以会表现出纹理。
示例代码下载
运行此示例,会看到如下三个按钮:
Add-添加一个矩形
Dlt-删除一个矩形
Hide-隐藏Hide和Add按钮,将Dlt按钮变为Show按钮
你将在屏幕右上角看到两个数字。第一个数字表示一个单独矩形所占的屏幕像素数,第二个数字表示总屏幕像素数(填充率)。
要测试该示例,尝试如下操作:
添加矩形直到填充率超过2,观察帧频的下降。
添加矩形直到帧频在45-60之间。单击Hide按钮,会看到帧频升高而填充率降低了。这是因为承载按钮的表层收缩了。底部的两个按钮消失后,图形表层只向下拉伸了约屏幕的10%,相对于按钮可见时的90%。点击Show按钮会使帧频恢复因为图形表层又增加了。
转到:WP7 App性能优化(0):索引页作者: M
http://cyqdata.cn/cnblogs/article-detail-2178
读取和保存应用程序设置
为了使我们的应用程序对用户友好,需要记住应用程序上次退出时的设置,以便再次运行这个应用程序恢复上次退出时的场景。 在上面所示的应用程序中,“每章单词数”就是需要记住的应用程序设置。 那么,让我们来写一个通用的抽象基类来做这件事吧。下面就是 AppConfigureBase.cs 源程序文件01: using System;
02: using System.IO;
03: using System.Xml;
04: using System.Collections.Generic;
05:
06: namespace Skyiv.Common
07: {
08: /// <summary>
09: /// 用于读取和保存应用程序设置的抽象基类
10: /// </summary>
11: public abst
http://cyqdata.cn/cnblogs/article-detail-2173
Windows Phone 7 不温不火学习之《使用Expression Blend 创建应用程序栏》
上篇学习文章漏了一个知识点,就是如何显示和隐藏系统托盘(System Tray),在这里补一下,显示或者隐藏系统托盘需要引入Microsoft.Phone.Shell这一命名空间,下面我写了一个Toggle System Tray 的方法,代码如下:
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->this.SetValue(SystemTray.IsVisibleProperty, !(bool)this.GetValue(SystemTray.IsVisibleProperty));
下面是两张效果的比较:
【使用托盘代码之前】
【使用托盘代码之后】
去托盘的方法相对于Android 来说差不多,
http://cyqdata.cn/cnblogs/article-detail-1655
告别aspx,高性能快捷开发 — JQuery Smart UI 快捷开发实例应用(一)入门【后篇】
上篇把服务端Bll层的内容完成了,下面就开始UI层的开发,打造简洁而“清爽”的功能页面.
第四步,配置Fncode
与BLL后台方法对应,在UI层进行FnCode的配置,位置在:Config/FnCode.xml中。
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> <Module name="UIDemo"> <BR name="BRNews"> <Fn no="fn_ns01"></Fn><!--查询--> <Fn no="fn_ns02"></Fn><!--保
http://cyqdata.cn/cnblogs/article-detail-278
C#实现外部图片的拖拽到应用程序的简单功能,附全部源码,供有需要的参考
通用权限管理系统组件源码里,有职员管理的功能,实现了直接可以把照片拖拽过来的功能,用起来会很方便。
管理软件能支持拖拽功能,会好用很多,用户体验也会改善很多。想做好一个组件需要把放放面面都彻底做好才可以。
想要控件支持拖拽,需要设置 AllowDrop 属性。
还需要写下面的2个事件。
参考代码如下,有需要的可以参考一下,把有需要的代码参考一下就可以了。
代码
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//-----------------------------------------------------------// All Rights&nb
http://cyqdata.cn/cnblogs/article-detail-231
WCF面向服务应用程序系列之十五:托管(Hosting)-WAS托管
WAS托管:Windows激活服务(WAS)是一个系统服务,是IIS7的一部分,也可以独立的安装与配置。IIS与WAS的主要区别在于WAS并不局限使用HTTP,它支持所有可用的WCF传输协议、端口与队列,支持的协议包括:HTTP、TCP、IPC、MSMQ。
WAS提供了大量基于自托管的强大功能,包括应用程序池、回收机制、空闲时间管理(Idle Time Mannagement)、身份管理(Identity Management) 以及隔离(Isolation);宿主进程可以根据情况选择使用这些功能。
下面我们通过一个DEMO来介绍WAS托管(net.tcp绑定)。
&n
http://cyqdata.cn/cnblogs/article-detail-177
socket编程之我的应用
以往上位机程序我们一般都是通过232、485和PLC通信,232通信受到距离的限制,485距离能够满足要求,也有不足的地方受环境干扰比较大,切传输过程中速度不怎么快,新的课题通过网口与PLC通信,西门子的PLC我们用过网口作为传输介质,速度可以而且使用起来方便,只需一根网线就可以调试程序了,这次的课题是以OMR的PLC作为控制PLC,上位机程序(也就是大家说的组态软件)我们自己来写,我会写出一系列的课程把我们实现的过程与大家一起分享,也希望做这快的朋友一起来讨论。
今天是入门课利用socket实现TCP/IP通信编程,实现两台电脑通过IP互联。
socket编程的教材网上搜罗下还是很多的,思路基本上也是一样的,程序分两部分客户端和服务器端
第一部分 服务器端 一、创建服务器套接字(create)。 二、
http://cyqdata.cn/cnblogs/article-detail-157
关于大型asp.net应用系统的架构—如何做到高性能高可伸缩性
简介
前面一篇<<关于大型asp.net应用系统的架构-架构的选择>>写完之后,有一些同仁热心回复,有的是提问题,同时希望能举一些例子来说明;有的是提建议,希望下一篇写得更详细点;还有的同仁提出不同的观点。感谢大家的参与。会继续努力的。本文将针对层Layer和排Tier的区别做个辨析。并详细介绍3 Tier / N Tier架构中各排Tier的开发。各Tier的分布式方式。以及为了达到高性能,低延迟,高可伸缩性,需要采取哪些方法和手段。
关于“大型asp.net应用系统 ”的概念
意指能支持同时在线用户数目很多的asp.net应用系统。同时在线用户数目要达到多少才算大型。其实也没有一个可以作为共识的定义,个人认为如果一个应用系统能做到7x24小时同时在线用户数不少于5000的,应该可以称为大型应用系统。例如:微软的官网www.m
http://cyqdata.cn/cnblogs/article-detail-111
Silverlight应用开发2webcam自拍保存和"录像"
1 题外话:缘起
2 开工ing
2.1Silverlight中的视频
2.2伪视频录像
3 展示
4 题外话二
我拍基地
我拍桌面:死循环。。。
题外话:缘起
前几天看到几个外国年轻人,搞了个利用kinect做的PC版本上的自然用户界面。。。很cool,当时没看明白,以为是通过摄像头+他的算法,就可以做出来。。。害我把它的chorme插件下载下来。翻出箱底的摄像头开始乱摆弄。。。结果发现需要 kinect。。。当时那个郁闷啊。。。
然后就想拿摄像头能做其他什么游戏的没。。。发现很少。。然后又突然来了兴趣给基地做个视频监控系统!嘿嘿。。。。好
http://cyqdata.cn/cnblogs/article-detail-100