摘要:你用过Word的双面打印吗?如果你是人工双面打印的话,一定对下面的对话框比较熟悉:你需要将打印了一面的纸按正确的顺序再放回到送纸器中,这个过程需要你在电脑和打印机之间来回奔跑。如果打印机距离你的电脑较远,例如打印机在1楼,而你在4楼办公,这会浪费我们很多宝贵的时间。我们需要的是一个“双面打印自动确定器”。当我们去取打印的文件的时候,先设置一个时间延迟,例如120秒后自动确定就好了。不需要来回跑,不需要求助其他同事。其实这只是此程序的一个用途,可以通过简单的配置,确定任意窗体的任意按钮,配置界面如图:点击添加按钮可以添加新的功能。先选中"窗体标题"单元格,再将图标拖到窗体上; 阅读全文
企业内部使用Silverlight5浏览器内受信任的应用程序
2012-02-27 12:22 by slmk, 3584 阅读, 4 推荐, 收藏, 编辑
摘要:silverlight 5的一个有趣的新特性是:可以在浏览器内完全受信任运行。这对于企业内部应用可谓重大的改进,可以访问本地COM,而且是在浏览器内。至少可以访问本地文件系统这一点就方便很多,很多需要C/S结构才能完成的事借助SL5也能实现。我一直认为SL是开发企业应用的利器,JS+HTML方式的前端难与之相比。1、silverlight应用程序项目属性中以下选项搭钩:如果你在调试时运行会发现,有权限在本地创建文件,这是因为你用"localhost"访问的原因,不要以为大功告成了!2、修改注册表:Key path for 32-bit computers: HKEY_LOC 阅读全文
一种简洁的非递归遍历树的常用算法
2012-02-24 17:03 by slmk, 3664 阅读, 1 推荐, 收藏, 编辑
摘要:树形结构是常用的数据结构,要遍历他一般使用递归算法。递归的好处是代码简洁;坏处是效率低,容易堆栈溢出。要实现非递归遍历树,我们使用栈结构,基本实现思路是:从根开始逐层遍历。思路:1)将根节点压栈2)循环检查栈是否为空 (1)如果为空,循环结束(遍历也结束了) (2)如果不为空,出栈一个节点3) 检查该节点是否是要找的节点 (1)如果是,退出循环,遍历结束 (2)如果不是,将该元素的下一层节点全部压栈。4)继续执行2)伪代码:Stack<Node> stack=new Stack<Node>();stack.push(root);while(!stack.isEmpty( 阅读全文
可用于Asp.net的嵌入式数据库SqlCE4.0试用笔记
2012-02-14 10:22 by slmk, 1869 阅读, 4 推荐, 收藏, 编辑
摘要:随着SQL Server Compact Edition4.0(SQL CE)对多线程的支持,使它不再只适用于运行在掌上电脑等手持设备中,而可以作为asp.net网站的轻量级数据库引擎使用。Visual Studio 2010 或 Visual Web Developer 2010 Express 项目中添加新项“SQL Server Compact 4.0本地数据库”,就可以得到一个不需要特殊管理员权限,直接发布到网站就能运行的数据库存储方案。对于小型的应用场景还是比较方便的,以前我都是用SQLite,这也是一个不错的嵌入式数据库,对于直接使用ado.net的开发者也是比较方便的(个人猜想微 阅读全文
Silverlight WCF RIA Service也遭遇了一次编码问题
2012-01-14 17:55 by slmk, 372 阅读, 0 推荐, 收藏, 编辑
摘要:这是一次血的教训: 足足花了我两个小时来调试这个问题,Silverlight应用在开发机器正常,发布到服务器后就出现了问题。其实有一个问题浪费了我大部分时间,那就是:Silverlight的Xap缓存问题。刚开始没有注意,以为刷新了就会下载到新的xap文件到浏览器,可是修改了多次程序后,还提示同样的错误,于是删除浏览器临时文件,并通过MessageBox框定位到问题所在:一个DomainService的查询操作总是返回null,这个操作需要一个参数,可这个参数通常是中文!这才恍若大悟,这不是我经常犯的编码问题吗?马上配置web.config:<globalization requestE 阅读全文
Silverlight5 无法切换输入法,无法输入中文的原因及解决初探
2012-01-11 17:15 by slmk, 2267 阅读, 2 推荐, 收藏, 编辑
摘要:问题源于前不久做的SL应用,开发是在SL4下开发的,由于完成后SL5也出来了,据说性能有较大提高,就把客户端升级到了SL5。经过简单的测试后,没发现什么异常。可是过了两天,客户打电话说:中文不能输入了,输入法切换后还是英文,或根本就切换不了。可开发机器上一切正常啊!程序用了自己写的控件,其中用到了Popup控件,Popup中的ListBox控件作为一个下拉列表供用户选择。 在win7上测试发现,当选中一项,Popup隐藏后,将焦点移到下一个TextBox控件,原来好好的输入法变为了这样:XP和2003下测试,只能发现语言栏变短了!并且不管用什么输入法都一样不能输入中文!Google搜索后发现, 阅读全文
Asp.net MVC突然变慢,缓存消失的一种原因
2012-01-09 11:38 by slmk, 2717 阅读, 1 推荐, 收藏, 编辑
摘要:今天使用Sqlite数据库时,在插入数据后,网站变慢。仔细检查代码,没有发现异常,只有一点:缓存莫名消失。缓存策略没有设置依赖性,百思不得其解:数据库改变,导致缓存消失?起初以为是sqlite的问题,Google后没有答案!于是想写一个测试程序,写到一半,发现了问题:自己为了图省事将Sqlite数据库放在了bin目录下。现在看来bin是asp.net进程重点监视目录,只要此目录中的文件改变了,就会导致应用程序重新编译,不但缓存丢失,还导致asp.net程序重新预热,访问自然变慢!由此看来asp.net MVC还是动态编译的。测试环境是asp.net mvc2.0+3.5框架+iis6.0+wi 阅读全文
IIS6不重启改应用程序.net framework 4.0的方法
2011-12-15 09:43 by slmk, 347 阅读, 0 推荐, 收藏, 编辑
摘要:利用aspnet_regiis命令:W3SVC/ + [Site Identifier from IIS Console] + /root+YouAppName如何发现网站的标识Site Identifier?在IIS中点击网站节点,在右边列表中显示网站的ID,状态,IPs和端口栏目如果表示是3,就用命令:aspnet_regiis.exe -norestart -s "W3SVC/3/root/yourAppName"可能需要回收池iisapp /a <app pool> /r 阅读全文
[Silverlight]用代码设置数据绑定
2011-12-06 11:07 by slmk, 389 阅读, 0 推荐, 收藏, 编辑
摘要:数据绑带从Winform开始就有了,数据绑定在用户界面和后台数据之间建立了连接,减少了很多编码。Silverlight的数据绑定一般是在XAML中写的,而有时我们需要在代码中动态设置。代码也很简单,例如我们要将对象fl的属性Name绑定到TreeViewItem的Tag属性上 TreeViewItem tvi=new TreeViewItem(); tvi.DataContext = fl; Binding binding = new Binding("Name") { Mode = BindingMode.TwoWay... 阅读全文
[asp.net]控制ajax接收数据的编码格式和避免乱码的方法
2011-11-22 09:30 by slmk, 1498 阅读, 0 推荐, 收藏, 编辑
摘要:情况是这样的:很久以前写过一个ajax应用,使用的YUI框架,一直用着没问题,偶尔有用户反映不行,当时简单的归结为RP问题,因为一样的系统,一样版本的浏览器,为什么单单你不行呢?没有深究,可最近,自己遭遇了这种RP问题。问题出在安装了vs2010 express中文版之后,原先的IE6访问该应用时显 阅读全文