正直言うとかなり失敗気味だった今回のLT。
次へつなげるためにもアップしておきます。
ダウンロードはここから(SkyDrive)
DataGridView や DataRepeater にこだわりつつ
時代は Workflow Foundation などと言い続けていたら
これからは LogicFlow だろ! と思い始めてきた
色々浅く広くやっていく古い技術者の Blog
Imports System.ServiceModelサービスに対しての実体を実装。これもなんであろうと一緒。
<ServiceContract()> _
Public Interface ISampleService
<OperationContract()> _
Function GetStatus() As Boolean End Interface
Imports System.ServiceModelIISでホストしてもいいんだけど今回はセルフホストさせた。
Public Class SampleService
Implements ISampleService
Public Function GetStatus() As Boolean Implements ISampleService.GetStatus
Console.WriteLine("Is Called Method [GetStatus]")
Return True
End Function End Class
現在ベータ中の Windows Live Essentials 2011 で提供されている Live Sync を利用すると簡単にリモート接続環境が構築できるのでメモ。
Live Sync をインストールすると次の画面が起動できる。
ここでリモート(R)をクリックするとリモート接続設定の画面へ。
こんかいのキャプチャではもうリモートを許可した後だけど、実際に許可するのもこの画面から「許可」を選択すればOK程度の楽々もの。
これで設定終わり(w
実際にリモート接続する際は、Live Sync を同じようにインストールするか、または Windows Live Device にアクセスすることで接続対象が表示されるから、そこから接続が可能(要 Windows Live ID)。
ちなみに LiveID 間で関連付けを行っている設定は有効なので、A という LiveID で登録したリモート端末を B という LIveID でログインした状態からでもリモート接続は可能。
ファイアウォールとかその類の設定が不要で非常にお手軽。ただしLiveIDを使うので、基本は個人用途向けだろうな。やろうと思えば業務としてリモートメンテナンス用に使えなくもないだろうけど、ライセンス上どうなのかは未調査。
| 発表者 | ツール・書籍 |
| @openlibsys さん | 痛IDE |
| @mucleus さん | ckw、nyacus |
| @kagetiyo さん | A5:SQL Mk2、pupSQLite、FreeMind、WinMarge |
| @naoki0311 さん | Office Web Apps、PowerGUI、Deflaggler、LINQPad、Code Rush |
| @akai_inu さん | TeamViewer、Evernote |
| @nobuhisa_k さん | Notepad++、Editra、Intype、MDIE、Lispworks、SugerSync |
| @plusism さん | 標準C#入門、VC#2008逆引きクイックリファレンス、ASP.NET MVC 実践プログラミング、jQueryプログラミング入門、プロフェッショナルマスターVC#2010、エッセンシャルWCF、addgadget.com |
| @twit_ahf | Pencil、DB Desinger、MySQL Workbench、SoftEther、UT-VPN、Snarpcrab、Hawkeye |
| @jsakamoto さん | Pencil |
前回のエントリで Report Viewer コントロールのバージョンアップ自体は特に問題なく行えることが確認できたので、ユーザー先の配布用にインストーラを構築していてしばらく困っていたのでメモ。
色々な手段で(w)Report Viewer 2008 のパッケージを用意し、さて必須パッケージとしてチェックしてビルドすればOK、みたいに思っていたらVS上のダイアログに Report Viewer 2008 が表示されてこなかったのよね。
で、とっちゃんさんの助力のおかげで Report Viewer 2008 の product.xml にてProductCode の記述が誤っているのが発覚。何故かここが、
Microsoft.ReportViewer.8.o
となっているけど、これは Report Viewer 2005 の ProductCode と同一なのでVS上で重複として扱われ、結果必須コンポーネントのダイアログに表示されてこなかったという話で。なので対応としては、上記 ProductCode の値を
Microsoft.ReportViewer.9.o
と書き換えてあげればOK。
今までは 2005 の Report Viewer コントロールで帳票プレビューとか行っていたんだけど、どうしても pdf で文字化けとか解決してくれない問題が放置されていたので、2008 と 2010 の Report Viewer コントロールを利用してみた。
自分の開発用ライブラリで Report Viewer コントロールをラップするような形にしてあるので、うまくいけば再頒布パッケージの導入のみで済むかな、と思って試してみるとこれが成功。
2008 も 2010 もどちらもロジックはそのままで、参照設定のみの変更でいけたw
ちなみに 2010 を利用する場合でも、旧フォーマット(2008 フォーマットでない)rdlc ファイルをそのまま扱えるので、移行する人は配布の事だけ考えればどうにかなりそうです。
講習で教えているのもあり、WCF 4 で作成したサービスを IIS 7.5 にてホスティングしようとしていて四苦八苦したのでメモ。
開発用Webサーバではしっかり動作するのに、IIS に変えてみると
「System.ServiceModel.Activation.HttpHandler 3.0.0.0」
が読み込みに失敗している旨のエラーが出てしまう場合。エラー内容から、どこかの設定にて上記アセンブリを参照しようとしているのは何となくわかるんだけど、それがどこにあるかがわからなかったわけで。
IIS の設定としてハンドラーマッピングとモジュールがあり、そこを変更してもうまくいかないんだよねぇ(まぁ元々方法としてどうよ?だけど)
で検索して色々調べていると、ご飯党(@shusoku)さんという方がそのものズバリな事をつぶやいていました。
これに従う形として、サービスプロジェクト側の web.config に手作業で <modules>セクションと <handlers> セクションを <system.webserver> セクションに追加。こんな感じ
<modules>
<remove name="ServiceModel"/>
<add name="ServiceModel" type="System.ServiceModel.Activation.ServiceHttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</modules>
<handlers>
<remove name="svc-Integrated" />
<add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModell.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" resourceType="Unspecified" requireAccess="None" preCondition="integratedMode" />
</handlers>
どうやら IIS 7.5 をインストした際の初期設定では .NET 4 用の設定があるんだけどうまいこと利用されない、ということらしい。
とりあえずこれでサービスが無事動作するところはOKでした。
「できるかな?」とふと思ったのでチャレンジしてみた阿呆な事。
仮想化環境上に仮想化環境の構築。
全くもって意味はないのだけど、やってみました。今回は Windows Server 2008 R2 with Hyper-V 環境に、Hyper-V Server 2008 R2 を導入。結果はご覧の通り、特に問題なくインストールは行えています。ただ一つ問題があって、ゲスト OS のHyper-V Server 側からはネットワークを認識できていないんだよね。ひょっとしたらゲスト OS として Windows 2008 とか R2 で Hyper-V を構築すると話は変わるのかもしれないけど、そこまではさすがに試していません。
これを踏まえると
「完全に分離した Hyper-V 環境」
を構築したいのであれば・・・と思ったけど、内部ネットワークとして設定すれば普通に同じことができるので本当に意味がなかったw