0

私は Quartz.net を使用する初心者です。私の質問は次のとおりです。スケジューラが実行できる操作とのインターフェイスを含む WCF サーバーと、割り当てられたインターフェイスを実装するクラスを作成しました。スケジューラとメソッドをインスタンス化するコンストラクタ。

別の場所では、同じプロジェクト内で、単純なジョブの定義を使用してライブラリを作成できます。

public class MyJob : IJob
{
    public virtual void Execute(IJobExecutionContext context)
    {
       // Body of the job
    }

.dllクライアントに接続するとすべて正常に動作しますが、Quartz サービス フォルダーに動的に含めて、別の方法でジョブを含める必要があります。しかし、方法がわかりません。

私は解決策を探していましたが、関連するものを見つけましたSystem.Reflection; しかし、可能なコードをどこに配置する必要があるかわかりません

4

2 に答える 2

0

アセンブリを .dll ファイルから動的にロードする必要があるようですが、これはリフレクションによって実行できます。

var assembly = Assembly.LoadFile(@"yourDllFilesPath.dll"); // this loads the assembly

これで、このアセンブリ クラスを取得できます

var type = assembly.GetType("Foo");  // a class Foo 

これで型ができました。この型のインスタンスを作成する必要があります。これは次を使用して実行できます。Activator

object obj=Activator.CreateInstance(type);
于 2013-04-17T11:48:02.307 に答える