發表文章

目前顯示的是 9月, 2011的文章

解決Office轉成pdf在WindowService不能執行

問題 這兩天把撰寫好的Office轉成pdf程式搬到WindowService執行,執行後程式會hand住, 在工作管理員看到的winword.exe記憶体不斷升高,查看程式後發現 wordDocument = wordApplication.Documents.Open(ref pSourceDocPath);回傳的是null,但word程式卻有在背景執行, 以致wordApplication在關閉時整個會卡住,上網查了些相關文章,大部分寫的是 Microsoft.Office.Interop不能在WiindowService執行,幸好在快放棄時找到了一個很奇怪的方法,一試 之後竟然可以成功.....這真是太神奇了。 解決方法 在以下路徑建立"Desktop"資料夾 32位元os C:\Windows\System32\config\systemprofile 64位元os C:\Windows\SysWOW64\config\systemprofile 以上我在window7 64位元及window2008r2 64位元 測試成功 參考文章 http://www.go4answers.com/Example/word-automation-through-windows-service-171373.aspx

Tech Day2011筆記

圖片
Day1 .NET 開發技術 2011 綜覽與活用 吳宏彬 Mobile 偵測與應用的擴充套件 51degress Mobile view engine iPhone模擬器 http://blog.darkthread.net/post-2010-03-11-iphone-browser-emulator.aspx Windows Phone SDK 7.1 關鍵報告 I II :認識 Mango 新增 API & 開發工具大進化 董大偉 · Tile 客製化及動態新增 · Application Tile:使用者自行釘選 · Secondary Tile:使用程式新增 · Push Notifycation:跟Push Notifycation要求 Url 後存放在自己的 Server ,由 Server 發送訊息給 Push Notifycation後再轉給手機 · Background Audio:背景音樂執行,需實作相關介面 · Background Transfer:背景檔上傳下載 · Task排程工作:分為完全沒使用手機才會通知及定時通知。 · ShellToast 訊息通知:為背景工作的訊息通知。 · LocalDatabase :使用Linq To SQL,個人認為直接使用物件序列化會好用得多。 · IsolateStorage Explorer:檢視隔離區的檔案 Day2 WCF 4.0 企業級服務開發及實戰 張書源 · 組態簡化,預設已繼承相關的基本設定 · Behavior不加Name 為全域設定 · 更新預設的Binding:透過ProtocalMapping區段如下 <ProtocalMapping><add Scheme="http" binding="wsHttp"../> · AppFrabic:IIS 套件管理WCF · IIS7.5進階設定:設定支援TCP/IP 例:http,net.tcp · WCF 路由服務:用來作新舊版服務的轉接及使用BackupList 當服務停掉時由BackupList內的服務補上。 · Dicovery服務探索 · WebSocket:雙向溝通 · Jo

適用在SilverLight的byte與字串互轉

在SilverLight使用WebClient對Server端叫用網頁(.aspx or .ashx)取回Binary時,若網頁丟出例外, 在SilverLight收到的例外會是"遠端伺服器傳回一個錯誤: NotFound。 這樣的訊息在Client端根本不知道是發生什麼事,所以改成回傳一份訊息byte,寫法如下 Server 端 byte[] byteArray = System.Text.Encoding.Default.GetBytes(str); Response.Clear(); Response.BinaryWrite(byteArray); Response.End(); SilverLight string str = System.Text.Encoding.Default.GetString(byteArray); 但...此行程式在SilverLight不支援,所以無法使用。 參考別人寫的可以使用Base64轉,但..中文字不能轉,所以我沒用。 http://wincn.org/post/330.html   最後參考小朱的一段Byte與字串互轉的程式,測試後互轉沒問題 Server 端 byte[] byteArray = Encoding.UTF8.GetBytes ("發生例外!"); Response.Clear(); Response.BinaryWrite(byteArray); Response.End();   SilverLight byte[] byteArray = new byte[e.Result.Length]; e.Result.Read(byteArray, 0, byteArray.Length); string errorMsg= Encoding.UTF8.GetString (byteArray, 0, byteArray.Length);