2016-05-23 11 views
0

私はAzureでWebジョブを作成しています。その目的は、いくつかの作業負荷を処理し、Webサイトでサーバーのバックグラウンドタスクを実行することです。ウェブジョブからWeb APIを呼び出すか、クラスを使用しますか?

私のウェブサイトには、私のウェブサイトで使用されているいくつかのWeb APIメソッドがありますが、終了後にWeb APIメソッドと同じタスクを実行するようにしてください。

私の質問には、このWeb API(可能な場合)を呼び出す必要がありますか、またはWeb APIコードをクラスに移動して、Web APIとWeb Jobの両方でこのクラスを呼び出す必要がありますか?

私はちょうどここで正常な練習だったかと思った。私はお勧めし

おかげ

答えて

1

あなたはDLL内の共通ロジックを入れて、その代わりにWEBAPIを呼び出すためにwebjobを取得しようとしているのライブラリの両方のシェアがあります。

私はあなたが望むものを手に入れるための簡単な方法になると思う(さらに、あなたのwebapiにあまりにも多くのロジックを置く代わりに、物事を分かれて共有できるようにする)。

+0

ありがとう、ジェイソン、私はそれを検討します!ありがとうございました – realtek

1

ここは選手の選択だと思います。 Azureの2つのインスタンスは、どちらも同じ方法で展開します。 APIをdogfoodingして再利用するか、.dllでクラスを共有して再利用することができます。私たちは混じって始めましたが、使用しているWebjobsの量が大きくなったり複雑になったりするにつれて、ドッグフードでAPIに行きました。ここにはいくつかの理由があります。 APIで使用されるライブラリ/コード

    • ませカップリングAPIに依存するだけで、独自の解決策(複数可)へのWebジョブを移動する方が簡単と我々はそれ
    • のために選ぶ、他のライブラリのほとんど無料のAPIテスト(APIに私たち自身のクライアント経由ドッグフーディング)
    • 現実には、それは本当にダウン管理に来るけれども我々はすでに両作品APIにアップ有線伐採やその他の問題(もっとリユース)

    を持っています依存関係アプリ/ソリューションのサイズはあなたが構築しています。

  • +0

    ElvisLives、特にスケーラビリティのために、それを独自のソリューションに移すことに関する非常に良い点。私は将来、Webジョブをスケールアウトし、Web APIを使用することは、制限がなく、複雑さが少ないことを意味します。テスト側も良いポジティブです。ありがとう – realtek

    関連する問題