【茶包射手日記】Word VSTO程式問題兩則
先前寫過Word套表服務,透過C#程式呼叫Word進行文字置換並轉存PDF,包裝成Windows Service執行並透過ASP.NET Web API接受需求。程式在開發環境與測試環境運作良好,部署到正式環境Windows Server 2003卻遇上麻煩。首先,套表程式的Windows Service先前在開發機Windows 2008 R2跟測試台Windows...
View ArticleAutofac筆記3-關於Lifetime Scope
在使用IoC設計模式時,有一個有點難懂卻不能迴避的問題 -- 如何妥善管理物件生命週期,避免記憶體洩漏(Memory Leak)?要了解此議題,先大推一篇關於Autofac物件生命週期的經典文章,其中有頗詳細的闡述,這篇筆記只簡短摘要我實際應用的心得,關於完整說明推薦大家參考原文。問題從何而來?基本上,純.NET世界的資源(Managed Resource,例如:...
View ArticleAutofac筆記4-建構參數與建構式選擇
在先前的範例(12),透過Resolve<T>()建立的物件都只有單一建構式且不需建構參數,如果有多個建構式或建構時需要建構參數時,Autofac會如何處理?當類別有多個建構式時,Autofac會依"能符合最多個容器提供參數的建構式優先"做為選擇依據。其英文原文為"Autofac automatically chooses the constructor with the most...
View ArticleAutofac筆記5-屬性注入
前面談過傳入建構參數,但並非所有物件參數都可由建構式傳入,有些要透過屬性指定(例如: new MyObject() { SomeProperty = SomeValue };),而這也是IoC/DI的工作職掌之一,專業術語叫Property Injection(屬性注入)。解說前先介紹幾個測試用類別:...
View Article2013台灣米倉田中馬拉松~
去年首辦佳評如潮的田中馬,一如預期報名上演秒殺,幸運搶到門票,抱著朝聖心情參加我的第12馬。投宿南投,5點出發前往田中兒童公園。印象中來彰化的次數屈指可數,唯一的模糊記憶是小時候到八卦山看大佛吧?...
View Article在VS2013中使用SQLCE資料庫
發現Visual Studio 2013已悄悄移掉對SQL Server Compact Edition的內建支援,爬文得知大家較推的替代方案為SQL Server Compact Toolbox。下載安裝SQLCE Toolbox,發現新增SQLCE連線功態被停用並出現Runtime 3.5 not found警示:心想自己要用4.0,應該用不到3.5,便直接下載SQLCE 4.0...
View Article【茶包射手日記】偵測EWS服務URL
有支排程透過Microsoft Exchange Web Service Managed API 2.0存取Exchange Web Service收發信及讀取公用資料夾,執行時需指定Exchage.asmx...
View Article將VSS版控的Visual Studio方案切換成TFS
手上有個Visual Studio方案(.sln)原本使用VSS(Visual Source Safe)進行版控,用Visual Studio 2013開啟移除舊版控設定,想切換Source Control Plug-in想改成TFS,冒出以下訊息:The active solution or project is controlled by a different souce control...
View ArticleWindows 2012 ASP.NET安裝經驗一則
專案動用了SignalR 2.0,在我的Windows 2008R2開發機配合Chrome實測卻怎麼都無法開啟WebScoket傳輸,後來才發現SignalR支援WebSocket的必要條件:伺服器端: .NET 4.5 Framework + Windows 8 或 Windows 2012 瀏覽器端: IE10+或其他瀏覽器 為上線預做準備,決定灌台Windows 2012R2...
View Article開發筆記-OWIN
這半年來,在開發ASP.NET Web API及SignalR的過程常看到一枚生冷術語--OWIN,不知其所以然好一陣子,今天花點功夫粗略理解一番,特筆記備忘。OWIN(Open Web Interface for .NET)是一套開放網站介面標準,重新定義了.NET Web Application與Web...
View Article在專案新增OWIN Startup類別
新增了一個MVC專案要測試SignalR,透過NuGet安裝Microsoft.AspNet.SignalR.Sample,依照readme.txt指示,需在OWIN Startup中加入:...
View Article【打破砂鍋系列】SignalR傳輸方式剖析
能依瀏覽器支援能力自動尋找最適合的通訊方式,是SignalR最迷人之處。SignalR 2.0共支援Forever Frame、Long Polling、Server Sent Event、WebSocket四種通訊方式,在Introduction to SignalR的Transports and...
View ArticleSignalR傳輸效能評測-單向傳輸
上篇文章剖析了SignalR的四種傳輸方式: Forever Frame、Long Polling、Server Sent Event及WebSocket,延伸出另一個議題,這四種傳輸方式效率如何? 理論上WebSocket...
View Article【茶包射手日記】Redmine卡卡奇案
Redmine是一套架構在Ruby on Rails的專案平台,開發團隊最近在公司架了個Windows版,用它追蹤及管理Bug,取代先前使用的BugTracker.NET。不知從何時起,我手邊兩台機器連上Redmine回應奇慢,明明是在Intranet 100M...
View Article【茶包射手日記】讓IE執行速度差10倍的關鍵
故事是這樣的,工作專案有個大量使用JavaScript的重量級網頁,稍做修改後在工作機的IE10 @ Windows 2008 R2測試耗時居然超過10秒,比起Chrome慢上N倍,本以為這又是你知道我知道獨眼龍也知道的"IE特色",後來才發現事情沒想像單純。同事用IE9 @ Win7執行相同網頁,速度較Chrome慢,但至少比我的電腦快了一倍以上,我才意識到"有茶包!!"。測了IE10 @...
View Article使用jQuery.post傳送字串陣列參數到ASP.NET MVC
本範例展示如何透過jQuery.post傳送string[]參數給ASP.NET MVC。情境模擬訊息發送操作,提供網頁介面供使用者挑選接收者(採用複選式下拉選單)、輸入發送內容後按鈕傳送訊息給指定對象。ASP.NET MVC Controller如下:using System;using System.Collections.Generic;using System.Linq;using...
View ArticleJson.NET技巧-反序列化還原為不同型別的集合
情境如下,我們定義一個抽象型別Notification保存排程發送通知的資料(包含JobType、ScheduleTime及Message),依發送管道分為電子郵件通知及簡訊通知,故實作成EmailNotification及SMSNotification兩個類別,並各自增加Email及PhoneNo屬性。using Newtonsoft.Json;using...
View Article