2010年1月18日月曜日

Sql Server CompactではIF文が使えない

もぅタイトル通り。

なのでスクリプト内部でデータやオブジェクトの存在チェックして~、という手法が全く使えません。解決策としては・・・それようのAPを用意することくらいなんだよねぇ。

まぁCompactはそういう用途向けだからいいといえばいいな。

2010年1月12日火曜日

Windows Workflow(WF)のParallel Activityはよく言う非同期とちょっと違う

ちょっとイメージと違ったのでメモ。
Parallelと言われるとマルチスレッドよろしく、複数処理の並行動作をイメージしているんだけど、WFのParallelはそういう非同期ではなかったのね。



検証するために上記のようなワークフローで試してみた。whileActivityでは単純に10回ループさせるようにし、各codeActivityではConsole.WriteLineしてみる。この場合、DelayActivityがなければ、

1→2→3→4 とか 2→1→4→3とか

こういった形で「シーケンシャル」に処理が実行された。図のように間にDelayを挿入して適当な時間待たせるようにすると、

1→2→4→3 とか 2→1→4→3とか

CodeActivity3の前に別Activityの処理が行われるようになった。こんな感じで
処理の順番が保障されない
という意味合いでのパラレルだった。

うーん、さすがにマルチスレッド動作を願ったのは高望だったなw

2010年1月8日金曜日

.Net 3.0SP1 以降をセットアップした後でVS2005にWPFエクステンションをセットアップ

タイトル長いw

まぁ今となってはこんな事をする奇特な人は少ないだろうけど、自分がその一人なのでメモとして。

3.0SP1以降のFrameworkがセットアップされていると、このWPFエクステンションはそのままではセットアップができない仕様になっています。対応策は二つあって、一つはレジストリを書きかえるとのこと。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{15095BF3-A3D7-4DDF-B193-3A496881E003}]
"DisplayName"="Microsoft .NET Framework 3.0"

でももう一つの方が楽なのでこっちを使うことに。

msiexec /i vsextwfx.msi WRC_INSTALLED_OVERRIDE=1

コマンドプロンプトからmsiを実行するようにして、その際にオプションを指定すればOK。新しい環境でVS2005を使う人でなおかつそいつでWPFやWCF触ろうという奇特な人はメモですね。

2010年1月5日火曜日

ASP.NET環境構築の罠

Asp.Netの環境構築で必須なのは、

「IIS→.Net Frameworkの順序でインストール」

この順序。こうしなければASP.NETの設定が出来ても動作しない(AppDomainの生成でエラー、等がイベントログにたんまり発生する)。昔は.Net Frameworkも手動やセットアップ(msi)にてインストールだったのでそれほど問題じゃなかったんだけど、今のご時世ほぼ全ての環境で.Net Frameworkはインストール済み。

つまりこの状態でIISを設定してもAsp.Netは動作しない環境になってしまうことに・・・。

ここで必要なのがIISへAsp.Net登録。バッチファイル一発なので必須作業として行う必要があるかと。

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe –i

これからは絶対必須。忘れないようにメモメモ・・・。