2011年3月29日 星期二

[WF4] Workflow Foundation : Asynchronous 異步執行

繼續來介紹 Workflow Foundation 4 ,這次要說的是如何以非同步執行的方式去呼叫 Workflow ,如果有接觸過workflow,應該會知道最簡單的呼叫方式是用 WorkflowInvoker.Invoke ,但是使用這個方式去呼叫 workflow ,程式會等到這個workflow執行完後再去執行接下來要做的事,所以要改成異步執行,才能讓程式可以把事丟給 workflow 後,就立即繼續做下面的事情,下面用範例來介紹如何做到。


WorkflowInvoker

2011年3月26日 星期六

[C#] 首次進入頁面顯示訊息

相信很多人都在一些網站上面看過這項功能,就是如果你是首次進去這個網站(或特定頁面),就會先跳出一個廣告或公告,之後才能進到你要去的地方,剛好有這個需求就簡單寫了一下。

我的做法是用 Cookie 去記錄這個使用者有沒有進入這個頁面,沒找到 Cookie 就呼叫前端的 JavaScript function 做要做的事,Cookie過期時間是兩周,所以兩周後會再次看到這個訊息,這邊可以自行去改。

        public void CheckFirst()
        {
            HttpCookie myCookie = Request.Cookies["FirstTimeUser"];
            DateTime now = DateTime.Now;
            if (myCookie == null)
            {
                myCookie = new HttpCookie("FirstTimeUser");
                myCookie.Value = now.ToString();
                myCookie.Expires = now.AddDays(14);
                Response.Cookies.Add(myCookie);
                ClientScript.RegisterStartupScript(GetType(), "Show", "$(document).ready(function() {CallLightBox();});", true);
            }
        }

相當簡單的小功能,請多指教。

2011年3月25日 星期五

[WF4] Error : Literal only supports value types and the immutable type System.String.

有鑑於Workflow Foundation 4的中文資訊相當少,所以我又厚臉皮來貼一篇沒啥技術份量的文章了XD

在我把 workflow 裡面邏輯拉好,code activity 都寫好,要調用(Invoke)workflow時發生了下面這個錯誤。
Literal only supports value types and the immutable type System.String. The type XXX cannot be used as a literal.

查了一下,原來是我要傳進去 WorkFlow 的型別是系統沒辦法自動轉換的,所以發生了這個錯誤,解決方法就是將傳入參數的方式做個改變,舉例來說:

原本一般的傳入方式是這樣

WorkflowInvoker.Invoke(new Groupon() { i_Deal = Deal,
                                       i_Coupon = Coupon,
                                       i_Order = Order } );

要改成下面這個方式才能把值傳進去

WorkflowInvoker.Invoke(new Groupon() { i_Deal = new InArgument<DealType>((env)=> Deal),
                                       i_Coupon = new InArgument<CouponType>((env) => Coupon),
                                       i_Order = new InArgument<OrderType>((env) => Order) } );

還算是蠻簡單的問題,希望遇到的人不會卡太久。


參考資料 :
Windows Workflow throws error: 'Literal': Literal only supports value types and the immutable type System.String.

2011年3月21日 星期一

[WF4] The type or namespace name 'XXX' does not exist in the namespace 'XXX'

最近在研究Workflow Foundation 4,測試專案都沒問題,結果加到主專案時發生了奇怪的錯誤,應該有using的東西編譯時卻一直說找不到,一直叫下面的錯誤

The type or namespace name 'XXX' does not exist in the namespace 'XXX' (are you missing an assembly reference?)

試了半天後,才找到要去改專案的屬性,將 Target Framework 從.NET Framework 4 Client Profile 改成 .NET Framework 4,這樣就可以了。

Target Framework

詳細的路徑在 [Project] -> [Properties] -> [Application] -> [Target Framework]
然後選擇 [.NET Framework 4]

分享這個奇怪的錯誤。

700公尺高的防波堤

今日中午看個新聞,發現了有趣的東西。

700公尺高的防波堤

這篇「海嘯最高七層樓! 23m破壞力強衝擊」內容中提到「專家在日本青森海邊,觀測這次強大海嘯帶來的破壞力,發現700公尺高的防波堤,在海嘯來襲的一瞬間,全部被擊毀,對於災難防堵,絲毫沒有招架之力。」。

天啊,700公尺高的防波堤被23公尺高的海嘯擊毀,這是豆腐渣工程嗎 ? 我都覺得那麼高的防波堤搞不好可以拿來檔2012的海嘯了 -_-

記者寫稿也用用腦袋吧....

2011年3月11日 星期五

請抵制拿他國災難開玩笑的 NowNews

今日下午,日本東北發生了嚴重的地震,造成嚴重的破壞,隨之而來的海嘯與後續的餘震更是雪上加霜,在大家一同關心日本,為日本祈禱時,以抄網路資料當新聞出名的NowNews出了這篇新聞日本8.9超級強震! AV女優蒼井空:搖阿搖(備份),我看了實在傻眼,平常文章只會抄ptt,文章亂寫被批就算了,連一點新聞道德都沒有是怎樣 ?
拿他國災難來開玩笑,還用這種腥羶色標題來引人聯想,這種媒體該讓它存在嗎 ?

sux_nownews

NCC難道不會去管管嗎 ? NCC存在不就是為了這種這種事 ? 更何況這篇抄來的新聞總是不會有人具名,都用XX中心、XX報導之類的來署名,更應該讓NowNews去對此事負責才對。

我知道很多時候只要背後夠力,怎樣亂搞都不會有事,所以只能寫出來,希望能透過網路的力量,讓更多人抵制這種沒品德的媒體。

2011年3月7日 星期一

何不食肉糜的政府

News110307_1

馬政府無能已經不是新聞了,不過最近的跡象讓人覺得馬政府的能力低下已經到了難以置信的地步,真是西瓜也做得比較好。

連學生都知道不是說多吃米就能解決問題,馬英九卻只能提出這個方法,說麵粉漲就多吃米,他不感到丟臉我都為他覺得汗顏了...

News110307_2

也難怪吳敦義可以說糖漲就喝咖啡少用糖,多吃米...因為他知道上面的馬英九跟他一樣的想法。


唉,何不食肉糜的政府,這些無能的官員還是有那麼多無知的人在挺....想想真是悲哀。

2011年3月4日 星期五

[ benjemin 的生活筆記 ]- 三月雪

大家好:D
據說這一兩天台灣瞬間冷颼颼~週末穿短袖這兩天卻又要穿大衣了

實不相瞞....
.
.
.
.
.
.
日本也是啊~~~~(淚奔

熊熊地昨天就飄起了雪..到今天還是一陣一陣orz
早上出門時順手拍了幾張雪裡花,還請看倌們笑納!






說到三月,三月也是日本畢業的季節
雖然畢業典禮大約在三月中,
但一些畢業展也差不多是現在囉~
今天順道去看了旁邊大學的畢業展,
這是產品設計裡的其中一項,
真是好溫柔好美的作品+v+/



最後再加一個情報設計(直翻,台灣比較類似的科系大概是視覺傳達?)
影像組我最喜歡的一件XD

''About my humor'' dir: Hitomi Maruyama [2011] from Image Media Course, KUAD on Vimeo.

影片內容在講自己家裡一家三口

生活瑣事一堆吵架不斷,但還是開心的一家這樣XD

雖然是日文但相當活潑有趣!不懂日文也可以看一下喔~





2011年3月2日 星期三

[SQL] How to Set User Connections 如何設定SQL連線數 ?

今天有人問說要怎麼看SQL Server上允許的連線數目,藉此整理一下寫成文章。

首先,MS SQL Server 2005/2008/2008 R2的Connection預設都是0,也就是上限32767 (我找不到SQL Server 2000的資料),所以通常是不用特別去設定的,但是如果要設定的話,還是可以去手動調整的。

在調整 Max Connections 前,可以先使用下面的指令去確認目前設定的最大連線數。
SELECT @@MAX_CONNECTIONS 

[Rift] Rift Release , and 31 new server

rift_logo

就在沒多久之前,Rift內收到了要維護四個小時的通知,看看時間,四小時候剛好就是正式公布Rift Release的時間,在Head Start開始的這幾天,遊戲內盛況空前,Head Start一開始就有好幾個Server滿載,大部分Server都是處於High的狀態,而一些滿載的Server到今天依然需要排隊進去,可說相當熱鬧,雖然在Head Start時有新增Server,不過還是人數超乎我的預期,據說Beta時期有100萬帳號數。

今天官方公布會在正式開放時(就是等等)新增31台伺服器,所以北美與歐洲加起來一共就有100台伺服器了.....我記得WOW剛開的時候好像沒那麼多人的感覺XD 現在就看Rift是否在End Game可以拉得住人了。

附上 Rift Server Status

2011年3月1日 星期二

都不會戳到眼睛!!!



今天網路上流傳的這個熱門影片,讓我實在是驚為天人!!!

SEO 聽課感想

日前上了一堂關於 SEO (Search Engine Optimization,搜尋引擎最佳化)的課,下面整理一下聽過之後融合我自己想法的課後心得。

SEO這東西之所以會出現,是因為大家想搶這個關鍵字搜尋結果的名次,每個人都想衝到第一頁、甚至是第一名,而要達成這個結果,個人覺得有兩點很重要。

1.內容正確。以長遠來看,有著與關鍵字正相關的內容,會因為有更多的點擊率,進而提升在搜尋結果上的名字,相較SEO的操作手法所能影響的,正確的內容我覺得是對於搜尋名次更佳有效益的。

2.讓搜尋引擎看懂。做了一個新的頁面後,要如何加速被搜尋引擎索引,要如何提升你的頁面在搜尋結果上的權重,這些就是一些 SEO 公司在賺錢的地方了,前者可以透過主動提交sitemap去做,後者就得靠標題、內容等等的文字調整,來提高與關鍵字的權重比。