1

Azure WJ は初めてです。1 つのソリューションに 2 つのプロジェクトがあります。実際のWeb サイト - Project 2WebJob - Project 1です。WJ の唯一のタスクは、スケジュールされた時間内にプロジェクト 2のパブリック クラスから公開されたメソッドを呼び出すことです。

WJ が作成されたとき、プロジェクト 2 - Web サイトのクラスとメソッドは、プロジェクト 1 - WebJobへのソリューション参照として追加され、それらにアクセスできるようになりました。

私が抱えている問題は次のとおりです。

WebJob がビルドされると、指定された時点ですべての依存関係がコンパイルされます。最終的な .zip が Azure Web ジョブ ポータルにアップロードされると、コンパイルされたコード バージョンで Web ジョブが実行されます。これは、Project 2 - Web サイトへの新しい変更は、更新されたProject 2 - Web サイトの依存関係で WJ が再構築され、.zip が再アップロードされるまで有効にならないことを意味します。

プロジェクト 2 から特定の公開されたメソッドを呼び出し、呼び出されたメソッドが存在する限り、プロジェクト 2 の変更に気付かない WJ (プロジェクト 1 として) を作成する方法はありますか?

例:

WebJob コード (プロジェクト 1):

namespace SecondProject
{
    class Program
    {
        static void Main()
        {
            var client = new WebClient();
            secondProjectMethod();
        }
    }
}

ウェブサイト コード (プロジェクト 2):

namespace firstProject
{
    public class someClass
    {
        public void secondProjectMethod()
        {
            // I want to make any code changes I want inside this 
            // method anytime and the WbJob should not care
            // about these changes as long as this method name exist.
            // Because all it should care about is that it should
            // call this  method name.
        }
    }
}
4

3 に答える 3

1

Web サイトを使用しているため、Proj2 からのメソッドを API として公開し、スケジュールされた間隔で (メソッドの代わりに) WebJob が API を呼び出すようにすることができます。したがって、Proj2 でメソッドを変更しても、公開された API が更新されたメソッドを呼び出している限り、Web ジョブは独立したものになります。基本的な API の作成については、
このリンクを参照してください。

于 2015-12-08T19:50:00.000 に答える