作成者別アーカイブ: masuda

[win8] metro-desktopのプロセス間通信をWeb API風にする

このエントリーをはてなブックマークに追加

[win8] MetroアプリからDesktopアプリへWCFで接続する | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/3387 [win8] metro アプリケーションからデスクトップアプリにプロセス間通信する | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/3379 # 追記 2012/05/12 # 再度確認したところ、localhost によるループバック接続はパッケージを作った時は駄目で、Visual Studio からデバッグ実行しただけ接続できます。このあたり、hosts 書き換え、ip 指定でも駄目なので、別の方式を考えないと。以下は、参考のため残しておきます。 # 業務的には、別マシンに proxy を立てて localhost->proxy->localohst にすれば ok なんですが、もうちょっとうまい方法を考えますか。ネットワーク負荷がかかるし。 なところで、WCF を使ってプロセス間通信できることは確認できたのですが、WCF だと metro アプリのほうで web の参照設定をしないといけません。まぁ、製品的にサーバーが先に固定化されている場合はいいのですが、流動的に作っている場合は先にインターフェースを決めないといけないというのはちょっと酷です。 … 続きを読む

カテゴリー: C#, windows 8 | コメントをどうぞ

nullポインターがokな、オブジェクトをC#で実装する

このエントリーをはてなブックマークに追加

WCFサービスを調べているときに見つけたので、ちょっとメモ的に。下記の SafeInvoke メソッドのところです。 Method call if not null in C# – Stack Overflow http://stackoverflow.com/questions/872323/method-call-if-not-null-in-c-sharp objective-c には便利な機能があって、変数が null の場合はメソッドを呼び出さないのです。このために null チェックがいりません。具体的にコードを示すと、 ってな感じで、2回目の CallMethod は呼び出されません。 if ( obj != NULL ) というチェックがいらなくなってコードがシンプルになります。まあ、厳密性を重んじるならば NULL チェックをする「意図」は残しておいたほうがいいのですが、コードの安全性を考えるとこれで ok な気がします。 ■拡張メソッドを使う 実は C# の拡張メソッドを使うと似たようなことができる、というのを先日知りました。元のクラスを NullObject にして、拡張メソッドを含むクラスを … 続きを読む

カテゴリー: C# | 1件のコメント

[win8] MetroアプリからDesktopアプリへWCFで接続する

このエントリーをはてなブックマークに追加

昨日 [win8] metro アプリケーションからデスクトップアプリにプロセス間通信する の続き。 # 追記 2012/05/12 # 再度確認したところ、localhost によるループバック接続はパッケージを作った時は駄目で、Visual Studio からデバッグ実行しただけ接続できます。このあたり、hosts 書き換え、ip 指定でも駄目なので、別の方式を考えないと。以下は、参考のため残しておきます。 # 業務的には、別マシンに proxy を立てて localhost->proxy->localohst にすれば ok なんですが、もうちょっとうまい方法を考えますか。ネットワーク負荷がかかるし。 metro アプリで HttpClient クラスを使ってローカルホスト(localhost)に接続できることが分かったのですが、「さて、データ形式はどうしようか」ということで再考しておりました。 やっぱり、データ形式は XML 形式がいいよねと、どうせならばクライアントは WCF 形式で繋げられるとよいよね、と考えた挙句…ああ、WCF で使えばいいよね、とひと巡りして来てしまいました、という話。 「System.Net.HttpListenerException: アクセスが拒否されました。」と表示されてしまう http://social.msdn.microsoft.com/Forums/ja-JP/wcfja/thread/4b1572df-a780-45b0-9488-cb4e3b95b53f をよく見ると、実は WCF の話だったのですね。なるほど、というわけで ServiceContractAttribute … 続きを読む

カテゴリー: C#, windows 8 | コメントをどうぞ

[win8] metro アプリケーションからデスクトップアプリにプロセス間通信する

このエントリーをはてなブックマークに追加

発端は、.NETリモート通信を metro アプリから desktop アプリ(通常のwin8アプリ)に対して通信をさせたかった、ということです。metro アプリのデバッグログなんかを win8 アプリから見れたり、リモートデバッグしている元の PC から見られるようにするのが目的だったのです。 # 追記 2012/05/12 # 再度確認したところ、localhost によるループバック接続はパッケージを作った時は駄目で、Visual Studio からデバッグ実行しただけ接続できます。このあたり、hosts 書き換え、ip 指定でも駄目なので、別の方式を考えないと。以下は、参考のため残しておきます。 # 業務的には、別マシンに proxy を立てて localhost->proxy->localohst にすれば ok なんですが、もうちょっとうまい方法を考えますか。ネットワーク負荷がかかるし。 が、実は metro アプリでは .NET リモート通信ができません。.NET リモート通信を行うための条件として、 TCP/IP 通信ができること(内部ではHTTPで動作している)。 共通のクラスを MarshalByRefObject で継承できること。 共通のクラスを、「共通」で使えること。 … 続きを読む

カテゴリー: C#, windows 8 | コメントをどうぞ

Windows Developer Days の感想

このエントリーをはてなブックマークに追加

感想をざっくりと30分位で記録しておきます。以前だときちっとレポートを書いたのだけど、年齢には勝てず…ってことにしておく。 Microsoft Windows Developer Days (WDD) ホーム http://www.microsoft.com/ja-jp/events/wdd/default.aspx 「Developer」ってことなので、Wndows 8 の metro アプリケーション、Visual Studio 11 での開発ってのが中心になります。私としては、既に acer w500 に windows 8 cosumer preview を入れ、visual studio 11 beta で試して、って具合でもあり、あとは半年後のための情報収集ってことで、 Visual C++ 関係 Azure 関係 ASP.NET MVC 関係 ってところを中心に聴講してきました。 で、結論から先に書くと。 xaml/c++ が意外と有望かも。Direct3D … 続きを読む

カテゴリー: 雑談 | 2件のコメント