2011-03-15 16 views
0

私のWCFサービスはレポートサービスです。レポートを作成して電子メールで送信します。電子メールのレポートは、要件に応じて添付ファイル/電子メールの本文にすることができます。Fluent Nhibernate - データベースにオブジェクトを保存する

クライアントは、送信前に電子メールをプレビューしたいので、WCFサービスは、電子メールオブジェクト全体を呼び出しているWebアプリケーションに返す必要があります。クライアントがメールオブジェクトに満足している場合は、「送信」をクリックするだけでWCFサービスに再度呼び出してメールを送信できます。

私は電子メールオブジェクトをレビューのためにクライアントに送る前にデータベースに保存しようと考えていました。

  • 私が代わりに付属の、レポートのように埋め込まれている場合は、各メールのオブジェクトは、複数の添付ファイル
  • を持つことができます流暢NHibernateは
  • を使用しています:考える私のscenerioのメールオブジェクトを保存するための最良の方法だろう何 電子メール本文、電子メールメッセージ本文が重いことがあります。

ありがとうございます!

答えて

2

レポートの生成に要する時間によって異なります。数秒であれば、元のリクエストと同じパラメータを使用してレポートを再作成してください。あなたのアプリが私のようなものであれば、報告時間の大部分がデータベースに費やされます。その場合、クエリ/ストアドプロシージャから返された書式設定されたデータをアクセス可能などこかの場所に保存するとよいでしょう。サーバ。

バイナリの電子メールオブジェクトまたはその性質のものをデータベースに格納することはお勧めしません。

+0

私は概ね同意します。それを除いて、私はデータベースに電子メールを保管することも考えられるかもしれません。一時ディレクトリ内のファイルを管理する方が簡単です(複雑な構造やアクセス権がなく、 "ディレクトリが存在しません"または "ファイルが既に存在する"問題など)。それではなぜですか? –

+0

それは本当です。私はデータベースがデータ用で、ファイルシステムがファイル用であると考えています。 – jonnii

+0

あなたの入力をありがとう。 furthurクエリでは、aspNetEmailを使用して電子メールオブジェクトを作成し、電子メールをXMLまたはバイナリストリーム、またはRFC標準文字列に保存することができます。しかし、その場合、私のクライアントはaspNetEmailコンポーネントについて知っているか、RFC文字列を解析できる必要があります。代わりに、今私は、カスタム電子メールオブジェクトをクライアントアプリケーションに渡し、データベースに保存することを考えています。レポートの部分については、ファイルをHDに保存し、実際にはファイルパスのみを保存/通過させることを考えています。その後、このファイルパスはクライアントアプリケーションによって電子メールの添付ファイルとして表示されます。コメントはありますか? – iniki

関連する問題