2011-07-05 6 views
1

intro:これらの例外はすべて、特にI/O処理の というコードを乱雑にしています。シンプルなcsharp I/Oフレームワークライブラリを探しています

これは、私が「ローカルに留まる」ことができる、つまりハイレベルのコードから操作がうまくいくと想定することができる、 のプログラムに適したインターフェイスを探しています。

たとえば、ネットワーク経由でメッセージを送信したい場合は、キューに追加するだけで、それを行うスレッドによって送信されます。 確認などが良いでしょう。

自分のプログラムの1つでは、(暗号化されたシリアル化されたオブジェクトとして)自分自身で実装しました。堅牢性が前提条件だったためです。 メカニズムは確認を取得し、どこかに問題があった場合に再度送信します。だから、ユーザーコード - 高水準コードはそれらの詳細を心配せず、メインロジックに集中することができます。 今、図書館として、私はそれに多くの用途があると思います。

成熟したものが分かっているのですか? そのようなものがなければ、私はそれがある最小限の汎用コミュニケーションライブラリにリファクタリングを試みます。

+0

WCFはすでに成熟していますが、ハードウェアを探していますか? –

+2

メッセージキューが必要なようです。 – CodingBarfield

+0

メッセージキューを私に指摘してくれてありがとう、私は結果としてzeromqを見た。面白いと思うが、これが一致するかどうかは不明だ。 あなたがポイントを気にしている場合、説明とメッセージキューがこの問題にどのように適合するかの例を提供することができます。それを回答として受け入れます。 – kobi7

答えて

1

ネットワークに関して、 私が探していた答えがZeroMQであることが判明しました。

ローカルioに関して、私はそれを見つけられませんでした。 私は、予想される使用に基づいて、失敗したいと思います。 たとえば、何かを書く前に、その行のエラーが(実行時に)既に受信されているか、書き込み操作のために十分なディスク容量がないか、または読み込みアクセス権がない場合は、 このディレクトリから。 これらは一般的なエラーであり、システム内ではグローバルであり、実際に書き込まれたバイトには関係しません。

実際には、オペレーティングシステムのサービスとして想定していますが、io操作が登録されてトークンを受信し、終了時に通知され、トークンを使用して進捗表示を要求することもできます。 IOが失敗することがわかっている場合(たとえば、読み取り不可能なディレクトリ)、初期登録に失敗する

0

ZeroMQはメッセージングには適しています。エラーの点で堅牢かどうかは分かりませんが、そのようなことを処理する例外はありません。 ZeroMQでそれらを実装する必要があるかもしれません。私はそれを世話するIOライブラリが.NETにあるのだろうかと思います。

オープンソースのソリューションが優れています。私が感じるWCFはあまりにも複雑です。

関連する問題