2007年3月6日 星期二

WinInet 限制每個伺服器連線

使用 IE 下載同一個網站的資料,同時只能下載兩個。

這真的是很不合理。

 

可以到 http://support.microsoft.com/kb/183110 這裡,看看要如何動手腳。

 

使用svcutil 製作非同步之 client proxy code

當已製作非同步的 wcf Service code 完成後,皆下來,就是要製作 client proxy code

 

但使用 Visual Studio 2005 with WCF extension 後,卻無法製作出非同步的 client code BeginXXX, EndXXX

 

後來才發現,在這一版,尚未支援製作非同步的 client proxy code。必需自行使用 svcutil.exe 製作

 

試了好久,終於

 

svcutil http://localhost/BankproPortal/Security.svc /a /ct:System.Collections.Generic.List`1 /namespace:*,UABClient.localhost

/mergeConfig  /config:app.config

 

必須注意到

·         `1是必須的,而且是鍵盤左上方的`,而不是單引號的 '

·         /namespace 的語法,我不知道為何必須是這樣,但這樣的確可以

參考自 http://www.dasblonde.net/CommentView,guid,c132e497-7fdb-4895-9b71-8542d0400d52.aspx 

svcutil /d:d:\LearningWCF /noconfig /o:serviceproxy.cs /r:ContentTypes.dll /ct:System.Collections.Generic.List`1 http://localhost:8000

 

Visual Studio 2005 已出到 SP1

Visual Studio 2005 已出到 SP1,請參考Visual Studio 2005 SP1

不過好玩的是,仍然無法支援 Vista

 

Updater Application Block 與 ClickOnce

最近要研究並使用「自動更新」的功能。

 

我發現,ClickOnce 真的很好用,開發非常簡單,也很實用。但是卻只能是 Per-User ,不能是 all user

換句話說,每一個人都必須要自己安裝過一次

 

Updater Application Block 卻沒有這個問題。但目前正式的版本只有for .net framework 1.1

後來發現了 V2.0 版,而且是for .net framework 2.0

 

看來符合我的需求了。

 

IConfigurationSectionHandler 與 ConfigurationSection

以前自訂 config 檔時,常常遇到一個問題,就是必須實作IConfigurationSectionHandler,用來讀取 config file 中的一個 section

接著,又必須寫一個 data class ,並將 config handler 中讀取到的資料填到 data class 中。

如果 config 中的資料是階層式的呢?例如定義一個上傳類型,需要幾個檔案。每個檔案的檔名格式,檔的目錄。

這樣的話,就必須寫多個 data class

 

.net framework 2.0 中,就可以用 ConfigurationSection 來對應了。

而且非常自然,讀取上也方常方便。

 

 

VS 2005 Html Design View 超慢改善方法

不知道大家是否覺得,使用 VS 2005 開發 Web site 變的超慢!

找了一下網路資源,發現可能是 Navigation bar 的問題。

請在 Tools / Options / Text Editor /Html 中,找到 Display Navigation bar check box 清除掉。

我試了一下,果然快很多。

[2007/03/14]

目前VS2005 已經出到了SP1,已對此問題做出了修正。

HTML Source Editing Performance Improvements in VS 2005 SP1

To add "Atlas" features to an ASP.NET application:

1.  Open the ASP.NET application in Visual Studio.

2.  Copy the "Atlas" run-time assembly (Microsoft.Web.Atlas.dll) from its installation folder to the application's Bin folder. By default, the "Atlas" assembly is installed in this location:

C:\Program Files\Microsoft ASP.NET\Atlas\v2.0.50727\Atlas

3.  Open the Web.config file in the "Atlas" default location.

4.  Copy elements required for "Atlas" to the Web.config file in your application's root folder.

Copy these elements as children of the <configuration> element:

  <configSections>

    <sectionGroup name="microsoft.web" type="Microsoft.Web.Configuration.MicrosoftWebSectionGroup">

      <section name="converters" type="Microsoft.Web.Configuration.ConvertersSection"/>

    </sectionGroup>

  </configSections>

 

  <microsoft.web>

    <converters>

      <add type="Microsoft.Web.Script.Serialization.Converters.DataSetConverter"/>

      <add type="Microsoft.Web.Script.Serialization.Converters.DataRowConverter"/>

      <add type="Microsoft.Web.Script.Serialization.Converters.DataTableConverter"/>

    </converters>

  </microsoft.web>

Copy (or integrate) these elements as children of the <system.web> element:

    <pages>

      <controls>

        <add namespace="Microsoft.Web.UI" assembly="Microsoft.Web.Atlas" tagPrefix="atlas"/>

        <add namespace="Microsoft.Web.UI.Controls" assembly="Microsoft.Web.Atlas" tagPrefix="atlas"/>

      </controls>

    </pages>

 

    <!-- ASMX is mapped to a new handler so that proxy javascripts can also be served. -->

    <httpHandlers>

      <remove verb="*" path="*.asmx"/>

      <add verb="*" path="*.asmx" type="Microsoft.Web.Services.ScriptHandlerFactory" validate="false"/>

    </httpHandlers>

    <httpModules>

      <add name="ScriptModule" type="Microsoft.Web.Services.ScriptModule"/>

    </httpModules>

5.  Close all files.

 

Share with Facebook