.Net/SilverLight
Visual Studio 2010 Beta1初试
五 20th
昨天早上得知VS 2010出来之后就立即用BT Down了一个下来,速度刚开始下的人少,比较慢,8K左右,后来就上到200K了,还不错。
不过很郁闷的是,因为公司的电脑上C盘空间只有1.5G不够用了,只能等昨天晚上回去装了。
继续郁闷的是,昨晚出现了DNS解析的问题,这是另外的话,呵呵。
安装包相当“迷你”,1G多,不包含MSDN。
.Net Framework升级到了4,不过还没尝试有什么新功能。
界面上,最主要的还是部分界面采用了WPF设计,比之前的要酷炫很多,而且采取深褐色和亮黄色搭配不错,不会使得眼睛太容易疲劳(PS,Blend那黑乎乎的对比度实在太低了)。启动页面也使用了WPF:)
昨晚简单地尝试了一下SilverLight的开发,VS2010毫无疑问比Visual Studio 2008 SP1 +SilverLight Tools这样的搭配好多了,内置了SilverLight开发环境,而且IDE支持了SilverLight开发可视化操作,就跟开发WinForm程序一样简单,少写了很多代码:)。这点上可以吸引相当多的WinForms开发者,几乎一样的开发界面,大多数通用的类库。而可视化开发操作Flex Builder先行了一步,这点上Flex可以小小骄傲一样,不要忽视了这个特性,对于一个新手而言,这个足以决定很多事情。
有兴趣的同学可以看看这个MIX09上的视频:What’s New for Microsoft Silverlight and Microsoft Windows Presentation Foundation (WPF) Developers in Microsoft Visual Studio 2010
VS2010 概览可以查看这个PDF:MICROSOFT® VISUAL STUDIO 2010 Overview
没有太多接触,感想暂时只有这么多:)
silverarcade-基于SilverLight的游戏展示网站
五 16th
今天很意外发现了这个网站。展示了一些基于SilverLight制作的游戏。当然,SL在游戏方面的应用上不多,因此这些游戏和现在风靡的Flash Web Game还有一定距离:P
有几款还是不错的,比如:
Construction 一款推/堆箱子的游戏。运用了物理碰撞效果。

Dr. Popper 这款游戏和Windows Mobile手机自带的彩球(是不是这个名字不太确定)一样。
当然,值得一提的是,开发者共享出游戏,每下载1000次将得到50¢。
有兴趣的同学请猛击这里:http://www.silverarcade.com/
神奇的System.BadImageFormatException: IL 格式不正确
四 27th
很神奇的错误,根据百度,Google,CSDN上的结果,可能是.Net 1.1的代码访问2.0的代码造成的。可是我这里的代码都是基于2.0的,不存在这种问题。开发环境是Visual Studio 2008 SP1。数据库使用SQLITE 3.0。
根据错误提示是出在:adapter.Fill(Dt);
疑似是SQL语句问题,可是只是再也普通不过的”select * from P_Link”。。。
调整各个字段的Size。清理了解决方案,重新生成还是照旧。
无奈,关闭VS和SQLITE Expert,重启之后,一切正常了,实在很囧。太神奇了,莫非这就是RP?~
Update:
什么是IL?
IL的全称:Intermediate Language(中间语言、托管代码)。
这部分在《C#高级编程》第一章.Net 体系结构的1.2 公共语言运行库中有简要介绍
参考:http://hi.baidu.com/lishuangyy/blog/item/7ba469c2cab2ee3de4dd3ba9.html《解析.Net 运行全程》
blu :基于WPF的酷炫Twitter客户端
四 3rd
消息来源:blu:绝对找不到比它更炫的Twitter客户端了
有兴趣的童鞋可以猛击上面的链接。
可是为什么,我这里基于AIR的twhirl占用了55M的内存,而 基于WPF的blu要占用近76M内存咧?
消息来源中提到的内存占用是:
这么炫的效果,某些童鞋就怀疑了,blu肯定吃了不少资源~确实如此,在Vista下,blu要吞掉58M的内存,而基于Adobe Air的twhirl(没用别的,只好拿它做比较了,大家见谅)竟比它还多了2M,足60M,所以我给的评价就是:相当不错了,可以知足了!
费解。
BlazeDS for .Net
三 17th
吓了一Jump,BlzaeDS出了.Net版了?非也,不过极有可能……
http://opensource.adobe.com/wiki/display/blazeds/BlazeDS+for+.NET
既然Adobe Open Source上挂出了这个网页。那应该就是板上钉钉的事情了。
想知道WPF/SilverLight能干什么吗?试试WPF Control Browser吧
二 26th
相信有很多RIA开发者已经见识过TourDeFlex(下载),它展示了相当多的Flex/Air开发实例。
其实现在SilverLight/WPF也有一款这样的工具,集合了微软官方的,DevExpress和ComponentArt等知名厂商的控件实例。

程序地址:http://www.mtaulty.com/downloads/WpfControlBrowser/WpfControlBrowser.application
请在IE下打开,貌似FF不行,也许是我的.Net Framework或者SilverLight客户端有问题,呵呵:)
如何.Net中使用WebBrowser 显示XML
十二 25th
也许您会说这样写就可以啦.
webBrowser.DocumentText = xmlDoc.OuterXml;
其实这样是错的,这样不会显示XML的结构。
本来以为可以设置webBrowser.DocumentType=”text/xml”;
无奈,WebBrowser.DocumentType是只读类型的。
查了一下资料,原来是要用System.Xml.XslCompiledTransform去格式化一下
Ok, lets’ do it.
Example Code:
string xml=xmlDoc.OuterXml;//xmlDoc是XmlDocument类型
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("xml-pretty-print.xsl");
TextReader tr = new StringReader(xml);
XPathDocument xpath = new XPathDocument(tr);
TextWriter tw = new StringWriter();
XmlWriter xwriter = XmlWriter.Create(tw);
xslt.Transform(xpath, xwriter);
xmlBrowser.DocumentText = tw.ToString();//xmlBrowser是一个WebBrowser控件
参考了一下文章:
http://www.cnblogs.com/skyfei/archive/2008/04/18/1160302.html
http://www.cnblogs.com/cstded/archive/2008/01/16/1041368.html (非常详细,推荐)
http://www.biglist.com/lists/xsl-list/archives/200003/msg00769.html
其中第二篇博文提到的defualtss.xsl俺木有获取到。就用了第三篇文章的xml-pretty-print.xsl内容是一样的:)

Developer Express .NET 如何实现完全换肤
十二 22nd
Developer Express .NET一直是俺非常喜欢的.Net开发第三方控件,皮肤也非常漂亮,最新的Developer Express .NET 2008.3.2又加入几个新皮肤,但是俺觉得不咋好看啊。。。呵呵。。。还是以前的那几个皮肤PP点。
今天用.Net做了个简单的配置文件生成工具。在不是很麻烦的情况下,用Developer Express .NET美化一下吧。这玩意儿类真多,而且关系还有点小复杂。。。最新的安装文件就已经有200M+
窗体类都继承了DevExpress.XtraEditors.XtraForm
不过生成的结果都成这样了(Vista下效果还行,如果用经典主题的话,估计够呛)
窗体和标题的边框木有美化,嗯,是的,只差一步了。
在Program.cs里的Main()方法里写上这么一句吧
DevExpress.Skins.SkinManager.EnableFormSkins();
OK,问题解决了。

WebORB For .Net 在Vista下出现500错误的解决
十二 15th
刚刚下了个WebORB For .Net装上,启动IIS,发现打不开,500错误。呵呵。
去WebORB看了一下,原来在IIS 7下还有要注意的。
http://www.themidnightcoders.com/products/weborb-for-net/developer-den/technical-articles/installing-weborb-on-vista-iis-7-install.html
Change the current directory to “%systemroot%\system32\inetsrv Run the following command:
appcmd migrate config “Default Web Site/weborb30″
OK,I got it~
Asp.Net中使用HttpContext.Session NullReferenceException的问题
十二 14th
今天使用HttpContext去生成一个XML,想把一个值放在Session中。
于是我是这么做的
context.Session["userid"]=userid;
报NullReferenceException,奇怪了,context.Session为空?
搜索了一下,原来要继承System.Web.SessionState.IRequiresSessionState这个接口,问题解决,呵呵:)
PS:As和C#代码切换着写还真是难免会写混淆。-_-!
Code
using System;
using System.Web;
using System.Web.SessionState;
public class BuildXml: IHttpHandler, IRequiresSessionState
{
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
try
{
context.Session["userid"] = 1;
}
catch (Exception ex)
{
context.Response.Write(ex.Message);
}
}
public bool IsReusable {
get {
return false;
}
}
}