.NET

続WCFでSeasar.NETを使う

Seasar.NETのインスタンス管理で問題が発生します。requestやsessionを指定した場合、Seasar.NETはASP.NETに依存しているためエラーになってしまいます。もちろん、WCF側でASP.NET用の移行ルートを持っているので対処はできるのですが、そうなるとWCFで使用…

WCFでSeasar.NETを使う

今開発中のパッケージはWebサービスを使っていますが、ユーザの環境がイントラネットオンリーだと分かっている場合は、Webサービスのオーバーヘッドが勿体ないのでTCP/IPとかに出来ればなぁ、とか思っていたら、IIS7ではWindowsプロセスアクティブ化サービス…

OracleClientのバグ?その3

MSから回答があり、やはりバグとのこと。.NET3.5SP1で入り込んだらしいです。回避方法は、 接続文字列に Pooling=Falseを設定する .NET3.5SP1を使わない の何れか、ということですが両案とも飲めないので引数無しのBeginTransactionを使うことにします。修正…

データベースプロバイダの差異

ADO.NETを使ってインタフェースベースで汎用的なコードを書いてもデータベース(プロバイダ)の違いにより動作しない(SQLのパラメータとか)ことがありますが、同一DB(例えばOracle)に対するOracleClientとODP.NETの違いってどの程度あるもの何でしょうか?イン…

はじめてのMEFその2

MEFのドキュメントを読んでいたら、メソッドをインジェクション可能(Seasar.NETのメソッドインジェクションではない)とあったので早速実験君。 using System; using System.Reflection; using System.Linq; using System.Linq.Expressions; using System.Com…

OracleClientのバグ?その2

OracleClientのバグ? - 匣の向こう側 - あまりに.NETな ↑の続き。Monoで試したところ、意図したとおり動作しました。やはり、MSのバグっぽい。System.Data.OracleClient.dllはMono版を使うってのもアリかも。

はじめてのMEF

CodePlex Archive The Managed Extensibility Framework (MEF) is a new library in .NET that enables greater reuse of applications and components. とありますが、とりあえずDIコンテナと考えておけばOK。既に記事として取り上げたつもりでしたが、過去…

OracleClientのバグ?

OracleClient周りで3日くらいずっと嵌っていたのですが、今日、やっと解決しました。現象からするとBCLのバグのよーな気がするのですが、どーなんでしょうか? using System; using System.Data; using System.Data.OracleClient; public static class Progr…

Unityその2

コンストラクタ/プロパティインジェクションを実験君。

はじめてのUnity

CodePlex Archive マイクロソフトが出しているDIコンテナですが、ちょっと興味があったので弄ってみました。http://www.microsoft.com/downloads/details.aspx?FamilyId=6A9E363C-8E0A-48D3-BBE4-C2F36423E2DF&displaylang=en&hash=aBGhzv3UZX8uqX0aMdoKbxV9…

CCWから別ドメインの作成

仕事でたまたま、Excel→CCW→AppDomain.CreateInstanceAndUnwrapというような嫌なコードを書く必要があったのですが、別ドメインでオブジェクトを作成してインタフェースで受けるようにしても、なぜか失敗。作成しているオブジェクトはMarshalByRefObjectとイ…

PyPy

PyPyとは、Python自身でPythonを実装するプロジェクトですが、.NET絡みのネタがあったので。(^^; PyPy Status Blog: PyPy.NET goes Windows Forms 見た感じ、IronPythonと一緒・・・というか、たぶん意図的に似せているのでしょうね。 3.4 Translating the P…

データベースの作成

LINQ to SQLを使うとDDLを書かずにデータベース、テーブルが作れるのが良いですね。外部キーもちゃんと張られますし。 (追記) これはLINQ to SQLじゃなくてLINQ to Entitiesなのかな。LINQ toほにゃららの区別がついてないです。(^^;

OracleでLINQ to SQL(顛末)

http://code2code.net/DB_Linq/ですが、 DB_Linq is prototype software. Simple queries do work, complex ones probably not. That said, you are free to use it in your production code - just test everything thoroughly.Broken/missing functionalit…

OracleでLINQ to SQL

ちょっと調べた限りでは、LINQ to SQLはOracleに対応していないようです。私はSQL Serverがさっぱりなので、これではLINQ to SQLで遊べません。(^^; 悔しいので、ググってみたら、http://code2code.net/DB_Linq/というものを発見しました。素のままのLINQ to…

アプリケーションの状態を保存(補足)

http://d.hatena.ne.jp/akiramei/20071125/1195977405 ↑のフォロー。 保存先にバージョン情報を持っているので、アセンブリのバージョン番号が変わると設定値が無効になってしまいます。その場合、旧バージョンから値を移行させる必要があります。

アプリケーションの状態を保存

例えば、前回起動した時刻や起動回数など、実行時間を超えてアプリケーションの状態を保存したい場合があります。その場合、外部記憶(ファイルやDBなど)にシリアル化などして保存する(いわゆる永続化)ことになりますが、.NET2.0だと、SettingsBase(Applicati…

.NET2.0 SP1

のバージョンは2.0.50727.1433でした。

System.AddIn

http://d.hatena.ne.jp/akiramei/20071111/1194786373 ↑で、AppDomainを使ってDLLをロード/アンロードさせましたが、.NET3.5ではアドイン開発用にSystem.AddInが追加されています。簡単なサンプルを書こうかと思いましたが、既に分かりやすい記事があったの…

app.configのファイル分離

app.configを複数ファイルに分けたいことがあります。例えば、app.configとweb.configに共通の設定などがあったりとか。この場合、カスタムセクションを作ったりすることになりますが、そこまで大掛かりなことが不要な場合は、configSourceを使うと便利です…

.NET 2.0のバージョン

ふと、家のバージョンと会社のバージョンが違っていることに気づいた 2.0.50727.42 2.0 RTM (MSI-based) 2005-10-27 ←家 2.0.50727.312 2.0 RTM (CBS-based On Windows Vista) 2007-01-30 2.0.50727.832 2.0 RTM (KB928365) 2007-07-10 ←会社 2.0.50727.1378…

ServerGCとWorkStationGC

NET 共通言語ランタイム (CLR) には、サーバーとワークステーションの 2 つの GC モードが存在します。ServerGC と呼ばれるサーバー用のモードは、マルチプロセッサ コンピュータ上で拡張性のあるスループットを提供するように最適化されています。一方、Wor…

ガベージコレクタ

実はあまりよく調べたことがないので、復習を兼ねて。GCが動作するタイミングは、 Generation0がいっぱいになる GC.Collectの明示的な呼び出し OSからのメモリ不足通知 AppDomainがアンロード CLRが終了 というケースがありますが、その中の1についてみてみ…

GetHashCodeのパフォーマンス

あまり気にしていなかったのですが、プログラミングMS .NET FRAMEWORK 第2版 (マイクロソフト公式解説書)を読んでいたら、 System.ValueTypeのGetHashCodeの実装は、リフレクションを使い(つまり遅い)、型のインスタンスフィールドのいくつかをまとめてXORを…

IronじゃないRuby.NET

IronRubyのお陰でGardens Point Ruby.NET Compilerの影が薄くなっていますが、IronRubyに対してどのような差別化をしていくか気になるところです。現時点で注目すべきポイントは、他言語との相互運用です。IronRubyからC#のコードを呼ぶことはできますが、そ…

はじめてのPostSharp

NEWSで取り上げたPostSharpが面白そうなので早速実験です。

国際化対応2.0

その昔、.NET1.0向けにネタにしましたが、バージョンアップということで。(^^;Visual Studio 2005では、カスタムツールが強化されたので、リソース回りが扱いやすくなっています。仕事上よくあるのが、文字列の管理をどうするかで、C/C++だとヘッダファイル…

ClickOnceで嵌る

仕事でClickOnceを使おうかと思い、MainFormだけのサンプルを作成して発行したら何故かエラー。1時間くらい悩んでホスト名をIPアドレスにしたら成功。なんじゃそりゃ。(^^; 一応、ホットフィックスが出ているようですが、自由にダウンロードできるわけではな…

忘れた頃に・・・

後輩がWebサービスでOracleへのアクセスに苦戦。なんでだろうとみてみたら、 http://d.hatena.ne.jp/akiramei/20040614/p1 ↑これ。 権限の問題だと教えてあげて解決。これもひどい話だよなぁ・・・

アプリケーションの終了処理

・Startup, Shutdown and related matters ・Cooperative Application Shutdown with the CLR 自分用メモ。あとで必読。