摘要: 在DotNet2.0中提供了GZip和Deflate压缩算法,而现在的浏览器几乎都支持 GZip 和 Deflate 压缩,因此在传输一些大的JS或CSS文件(如EXTJS)时对它进行压缩则可以减少下载时间,从而提高加载速度。  阅读全文
posted @ 2007-12-07 10:33 Jon.Hong 阅读(3682) | 评论 (34)编辑
新赛季的火箭值得让人期待,麦子,大姚,阿泰,斯克拉,8.2 这些人都是证明过的,自然无话可说,弗老大的实力是有点,但是经过伤病之后状态能恢复多少,确实是个问号。300万的年薪搞定了兰德里,上赛季后半段确定表现不错,希望不是昙花一现的爆发,海耶斯随着阿泰的到来上场时间去减少,进攻不怎样,但防守确定不错,多西是新人,不能抱有太大希望,布鲁克斯不能一味的滥投,要多向麦子学学传球,控制节奏,斯通的神经刀能让你狂欢,但有时也能让你出冷汗,海德日子不好过,被交易流言包围着。

麦子和大姚的健康确定让人担心,如果火箭没有大面积的伤病,这套阵容足可以称霸西部。
posted @ 2008-10-01 13:10 Jon.Hong 阅读(48) | 评论 (1)编辑
Silverlight_Tools.exe在安装时首先会从网站下载一个文件,而此时如果无法连接internet,则安装会中断,通过监测,发现其下载的竟是 Silverlight.2.0_Developer.exe (真想不到Silverlight_Tools.exe安装有70多MB,为何就不能将Silverlight.2.0_Developer.exe 一齐打包进去呢),解决的方法就是在C:\Documents and Settings\Administrator\Local Settings\Temp下新建Silverlight Tools RTW目录,然后将Silverlight.2.0_Developer.exe拷进去就OK了。

Silverlight_Tools.exe安装也真够笨的,即使你已经安装了Silverlight.2.0_Developer.exe,它还是会网站去下载,真是不撞南墙不回头啊。
posted @ 2008-09-27 16:08 Jon.Hong 阅读(58) | 评论 (0)编辑
http://www.cnblogs.com/ibillguo/archive/2008/09/26/1299257.html

SilverLight 2 RC0今天发布了,看来离正式版不远了
(目前只支持英文版的VS2008 SP1,在安装之前需卸掉SilverLight一切相关东西,包括Blend,然后重启,不然安装完之后新建SilverLight项目时会提示说请安装SilverLight SDK。)


SL中输入中文会重复的问题得到了解决,但当Windowless=true时,则输入中文就不工作了。
posted @ 2008-09-26 11:07 Jon.Hong 阅读(80) | 评论 (0)编辑
在SilverLight是允许通过OpenFileDialog控件读取本地文件的,故用SL做文件上传是一个很好的解决方案,思路也很简单,就将文件分块上传,然后在服务端写入到文件即可。本以为很简单的实现,却没想到中间横生枝节,那就是SilverLight在连续调用WCF服务时,当达到一定次数时(这个次数不确定),偶尔会发生 System.ExecutionEngineException 异常,并且此异常无法扑获。

为了验证是不是SilverLight调用WCF的问题,写了一下最简单的,但是问题依旧

Service1.svc

    [ServiceContract]

    public interface IService1

    {

        [OperationContract]

        int DoWork(System.Byte[] bytes);

    }

 

    // NOTE: If you change the class name "Service1" here, you must also update the reference to "Service1" in Web.config.

    public class Service1 : IService1

    {

        /// <summary>

        /// 最简单的实现,就传入的内容写到日志文件中

        /// </summary>

        /// <param name="bytes"></param>

        /// <returns></returns>

        public int DoWork(System.Byte[] bytes)

        {

            Jon.Services.LogHelper.GetLogger(this.GetType().ToString()).Debug(System.Text.Encoding.Unicode.GetString(bytes));

            return bytes.Length;

        }

    }

服务端的配置

  <system.serviceModel>

    <behaviors>

      <serviceBehaviors>

        <behavior name="SilverlightApplication1Web.Service1Behavior">

          <serviceMetadata httpGetEnabled="true" />

          <serviceDebug includeExceptionDetailInFaults="false" />

        </behavior>

      </serviceBehaviors>

    </behaviors>

    <services>

      <service behaviorConfiguration="SilverlightApplication1Web.Service1Behavior" name="SilverlightApplication1Web.Service1">

        <endpoint address="" bindingConfiguration="LargeBuffer" binding="basicHttpBinding" contract="SilverlightApplication1Web.IService1" />

      </service>

    </services>

    <bindings>

      <basicHttpBinding>

        <binding name="LargeBuffer" maxBufferSize="4096000" maxReceivedMessageSize="4096000">

          <readerQuotas maxDepth="4096000" maxStringContentLength="4096000" maxArrayLength="4096000" maxBytesPerRead="4096000" maxNameTableCharCount="4096000"/>

        </binding>

      </basicHttpBinding>

    </bindings>

  </system.serviceModel>



SilverLight端的也很简单

    public partial class Page : UserControl

    {

        public Page()

        {

            InitializeComponent();

 

            ServiceReference1.Service1Client client = new SilverlightApplication1.ServiceReference1.Service1Client(new BasicHttpBinding(BasicHttpSecurityMode.None), new EndpointAddress("http://localhost:9228/Service1.svc"));

 

            System.Text.StringBuilder sb = new System.Text.StringBuilder();

            for (int i = 0; i < 538; i++)

            {

                sb.Append(Guid.NewGuid().ToString());

                sb.Append(System.Environment.NewLine);

            }

           

            int index = 0;

            client.DoWorkCompleted += delegate(object sender, SilverlightApplication1.ServiceReference1.DoWorkCompletedEventArgs e)

            {

                if (index < 500000000)

                {

                    System.Threading.Thread.Sleep(50);      
                   
client.DoWorkAsync(System.Text.
Encoding.Unicode.GetBytes(sb.ToString()));

                    index++;                   

                    //System.Windows.Browser.HtmlPage.Document.SetProperty("title", index.ToString() + "_" + e.Result.ToString());

                }

            };

 

            client.DoWorkAsync(System.Text.Encoding.Unicode.GetBytes(sb.ToString()));

            //System.Windows.Browser.HtmlPage.Document.SetProperty("title", index.ToString());

        }

    }

就是循环调用WCF,向服务器端上传文件内容。System.ExecutionEngineException异常就发生在 client.DoWorkAsync() 时,(DoWorkAsync方法是VS添加引用时自动生成的),我想应该是SilverLight对WCF支持不好的原因吧,,各位达人指点迷津一下吧,,(真心希望不是SilverLight的问题,而是本人菜鸟水平所致)。

测试项目在这里

posted @ 2008-09-16 16:43 Jon.Hong 阅读(1181) | 评论 (11)编辑
听老婆说,儿子长牙了,记录一下。

今是9.11啊,怎么偏偏今天长出来了,呵呵。
posted @ 2008-09-11 16:23 Jon.Hong 阅读(23) | 评论 (5)编辑

看到这个标题,大家肯定会说,ContextMenu与TextBox何干,呵呵,表面上看起来是无关,与英文用户也无关,但跟中文用户就有很大关系了。

SilverLight到目前为止还是不支持ContextMenu的,实现的方法一般都是侦听 Document 的 oncontextmenu 事件( HtmlPage.Document.AttachEvent("oncontextmenu", this.OnContextMenu); ),
侦听到了 oncontextmenu 事件以后就好办了。但问题是必须设置 Windowless="true"  才能有效侦听到 oncontextmenu 事件,好吧。为了实现也不管这么多了。
而此时页面上如果有 TextBox 控件的话,灾难就会光临你了,任你什么中文输入法,你也甭想输入一个中文。。。

posted @ 2008-09-09 13:30 Jon.Hong 阅读(79) | 评论 (0)编辑
     摘要: 不限文件大小,支持断点续传。   阅读全文
posted @ 2008-08-14 10:41 Jon.Hong 阅读(572) | 评论 (12)编辑
真是手痒啊,打上了SP1后,SilverLight项目打不开了。

看来要想用上SP1则只能等SilverLight 2.0正式版本。




英文版本的用户只需装上最新版本的SilverLight 2 beta2 开发包就OK了(中文版本的目前好象还不行)
posted @ 2008-08-12 15:21 Jon.Hong 阅读(142) | 评论 (9)编辑
地球人都知道新建一个策略文件就可解决
clientaccesspolicy.xml
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  
<cross-domain-access>
    
<policy>
      
<allow-from http-request-headers="*">
        
<domain uri="*"/>
      
</allow-from>
      
<grant-to>
        
<resource path="/" include-subpaths="true"/>
      
</grant-to>
    
</policy>
  
</cross-domain-access>
</access-policy>

现在有一个问题容易被人忽视,,那就是这个文件该放在哪呢?我就被这个问题搞了半天。

假如你要调用的WCF服务URL为 : http://localhost/wcfservice1/abc.svc  那么这个策略文件是放在localhost的主目录下,而不是localhost/wcfservice1下。
posted @ 2008-08-07 10:25 Jon.Hong 阅读(132) | 评论 (0)编辑
MS只发布了英文版和小日本版的,TNND,真够气人的。。。

sadf.jpg
posted @ 2008-06-11 16:44 Jon.Hong 阅读(209) | 评论 (0)编辑

Web Services - SOAP Weather Widget
weatherwidget.jpg
This widget provides live weather data for any ZIP code by accessing a SOAP web service. For more web services samples click here.
演示:http://silverlight.net/Samples/2b1/WeatherWidget/run/default.html
实例下载:http://silverlight.net/Samples/2b1/WeatherWidget/WeatherWidget.zip

Nova Light
fly.jpg
Nova Light is a small 3D engine built using Silverlight that handles basics 3D features like solid faces, multiple lights, cameras, objects and materials.

SilverLight2.0是不支持3D的,Noval Light是一个轻量型的3D引擎,不过从运行效果来看很卡。
演示:http://www.catuhe.com/NovaLight/NovaLight.aspx
没有提供源码下载

Free Silverlight Chart Control
chart.jpg
The Free Silverlight Chart Control provides a charting solution in a Silverlight environment. It uses XAML and C# to display charts on the Silverlight platform. The Free Silverlight Chart Control supports the following chart types: vertical bar, cylinder bar, horizontal bar, stacked vertical bar, stacked horizontal bar, stacked area line, bar area line, XY line, scatter plot radar, and more!
开源的SilverLight的图表控件,效果挺不错的,有动画
演示:http://home.comcast.net/~venkata.guddanti/FreeSilverlightChart/index.html#
下载:http://home.comcast.net/~venkata.guddanti/FreeSilverlightChart/FreeSilverlightChart.zip

Silverlight Panorama Viewer

Silverlight control to view panoramic pictures. It supports auto-rotating of the picture, drag-drop, description text, etc.
SilverLight实现的一个虚拟全景,不过没有放大缩小功能,但运行效果很流畅。
演示:http://www.michielpost.nl/panorama/
没有提供源码下载

posted @ 2008-05-20 11:03 Jon.Hong 阅读(2395) | 评论 (3)编辑

Ars Technica上的一篇文章中对Firefox 3 Beta 4和其他最新浏览器进行了对比测试。FF3B4的对手包括 IE7,Firefox 2,Opera 9.5 Beta 和 Safari 3.0.4 Beta。测试结果显示,Firefox 3 Beta 4的内存使用效率最高,它甚至在测试中超过了Opera,这个被长时间来看做是最快的浏览器。

在同时使用大约50个浏览页的密集测试中,测试者发现Firefox 3比Firefox 2.0.0.12少用了一半的内存。而且Firefox3在执行诸如不同页面间切换以及其他操作等Firefox2高负荷状况下的典型的会有延迟的操作中响应也更快。

Mozilla的开发者Stuart Parmenter在一篇介绍减少Firefox内存占用策略的文章中也做过类似对比测试。该测试使用了Talos framework ,Talos测试框架基于Vista系统,再现了日常的使用状况,测试中会自动在不同的浏览页中循环切换然后关闭页面。Firefox3在这一过程中比其他浏览器占用了更少的内存,并且关闭页面时也会比其他浏览器释放更多内存。Safari 3和IE 8没有完成测试,因为它们在测试中崩溃了。

这次测试的结果是可以用同样的工具再现的,这是Firefox的一个大胜仗,它长期以来一直因为高内存耗用而饱受批评。为了解决这个问题,开发者们从很多不同的角度来着手。为了减少内存碎片,开发者把内存分配的总数最小化,特别是在程序启动的时候。开发者还借鉴了FreeBSD中的jemalloc内存分配器,以帮助减少碎片提高性能。

另外一个大的改进是新的XPCOM循环收集器,它可以自动检查互相引用(mutual reference)造成的永久性无用对象。Parmenter说,这个收集器对插件很有意义,因为它可以预防类似的插件造成的内部内存泄露。缓存行为也经过了改进,浪费更少,不再缓存解压缩后的图像数据。

Mozilla的传道者Christopher Blizzard,曾经写过关于内存使用改善的文章,在文章中提供给读者另一种深刻见解:Firefox 3中的小内存足迹 memory footprint(指一个算法或一段程序所用内存的大小和内存操作的线性度等)表明了Firefox适合移动环境。

即将发布的 Firefox 3除了更小的内存足迹外,还包括改进了的用户界面,新的主题提高了视觉系统的整合性;完全重写的书签和历史系统使用了SQLite数据库;一个基于 Cairo的渲染后台,支持全页面缩放;支持JavaScript 1.8和很多其他新特性。这些改进会帮Firefox得到更多的用户。

测试情况见下图,纵轴:所占用内存,横轴:浏览器运行时间。

http://arstechnica.com/news.media/browser-memory-comparison.png

posted @ 2008-03-19 12:37 Jon.Hong 阅读(359) | 评论 (4)编辑

2008年3月6号,19时52分,宝宝出生了,3.1KG,48CM,是个小子,当护士小姐抱给我的时候,心情很喜悦,,,

1.JPG

2.JPG

3.JPG

4.JPG

posted @ 2008-03-10 10:10 Jon.Hong 阅读(213) | 评论 (9)编辑

过完春节回到公司后,看到VS2008中文版的已经出来了,二话没说,赶紧down下。这里说说装vs2008的一些注意事项:

1:不要直接在虚拟光驱下安装,我就吃了这样的亏,安装到一半时自已重启了,(可能是虚拟光驱软件问题),解决方法是解压到一个目录里,直接安装。
2:如果你需要安装sqlserver2000的话,请赶在vs2008的前面安装。



装了vs2008,终于不用再装2005了,真不知MS怎么搞的,装个破补丁要那么久,还动不动就给你脸色看,这下好了,干脆那你下岗。

posted @ 2008-02-21 10:14 Jon.Hong 阅读(177) | 评论 (3)编辑

由于软件发展速度已经落后于处理器发展速度,微软目前正在加紧研发并行软件.届时,新软件有望结束当前的“键盘和鼠标计算”时代.
当前,计算机软件行业正面临着一种尴尬,即软件发展速度跟不上处理器的发展速度,从而导致多内核处理器的优势无法充分体现.
而且,计算机处理器仍在高速发展,发展方向已经从单核转向多核.据预计,到2010年,8核甚至更多内核的处理器将面世.多核处理器对软件的要求是,能够把计算任务分成若干个并行处理任务.

但遗憾的是,计算机软件却跟不上处理器的发展步伐.为此,微软正投入大量精力提升软件的并行计算能力.并行计算公司Rapport联合创始人Andrew Singer表示:“微软开发并行软件是明智之举,否则,其软件位将遭遇挑战.”

为加快并行软件开发速度,微软聘请了业内多位专家,组成研发团队,以针对多内核处理器重写软件程序.如果开发成功,那么将在3年内对消费计算市场产生巨大影响.

据微软预计,并行软件可以将计算速度提升100倍,从而结束当前的键盘和鼠标时代,因为掌上设备就可以执行当前计算机执行的很多任务.

posted @ 2007-12-27 13:35 Jon.Hong 阅读(566) | 评论 (2)编辑
     摘要: 喜欢上ext是因为那个强大的grid控件,(和Developer Express的xtraGrid功能很相象)让我着实兴奋了N天。但ext不同于prototype,ext不光提供了优雅的底层库,更丰富的是他那些迷人的widgets。今天我就说说这段时间以来使用ext底层库开发的一此心得吧(本人接触ext也没多久,文中难免有错误之处,还请大家提出)。
1:Ext.get;
2:Ext.extend;
3:Ext.util.Observable  阅读全文
posted @ 2007-12-27 13:26 Jon.Hong 阅读(3122) | 评论 (12)编辑
哈哈,终于可以定制EXT2.0了,前些天还只能是1.1的。

http://extjs.com/download/build

以前的1.1还在
http://extjs.com/download/build-1.1
posted @ 2007-12-20 14:48 Jon.Hong 阅读(513) | 评论 (2)编辑