2011-02-06 8 views

答えて

1

サービス層は、それらのルールを簡単に変更することができ、特にので、URLはWebアプリケーションで構築されている方法の知識を持つべきではありません。また、これにより、サービスレイヤーがWebレイヤーに緊密に結合され、再利用性が低下します。明日、このサービス層をデスクトップアプリケーションで再利用したいのであればどうしますか?

IMHOはコントローラからサービス層に渡すべき情報です。

+0

ありがとう、私はあなたがすぐに2つの質問に一度に答えたと思います。 Webプロジェクトからメッセージテンプレートを取得し、サービスレイヤーに送信します。 –

0

コード内のどこでもHttpContext.Currentにアクセスして、必要な状態をすべて取得することができます。しかし、文脈を自分自身のクラスライブラリに渡す方がはるかに望ましいです。

たとえば、ルートデータを取得する:

HttpContext.Current.Request.RequestContext.RouteData 
+0

ああ、いいえ、いいえ、 'HttpContext.Current'。 –

+0

まさに!私は「しかしあなた自身があなたのクラスライブラリに文脈を渡す方がはるかに好ましい」と言いました。 – Aliostad

+1

文脈がもはや利用できなくなったらどうしますか?たとえば、サービス層がバックグラウンドスレッドで電子メールを送信することを決定する場合があります。 HttpContextは、メインメソッドがサービスメソッドが終了するずっと前に終了している可能性があるため、このバックグラウンドスレッドにはもう存在しません。そして、なぜサービス層をHTTPのものと結びつけるのですか?これはもはや私のサービス層ではありません。 –

関連する問題