.NETクライアントで使用されるWCFサービスがあります。運用契約のパラメータとしてインターフェースを使いたい。このアプローチをテストできるようになるまでサービスを完全に実装していません。実行不可能であることが判明した場合は、多くの時間を費やしたくありません。
これはこれを行う正しい方法ですか?
public interface ISchedulerJob
{
void Execute();
}
public class MyJobA : ISchedulerJob
{
public void Execute() { //... }
}
public class MyJobB : ISchedulerJob
{
public void Execute() { //... }
}
[ServiceContract]
[ServiceKnownType(typeof(MyJobA))]
[ServiceKnownType(typeof(MyJobB))]
public interface ISchedulerService
{
[OperationContract]
void Schedule(ISchedulerJob schedulerJob);
}
私はこの投稿をチェックしました:
wcfサービスのパラメーターとしてクラスインターフェイスを使用する
私が達成しようとしていることのように見えますが、インターフェイスでKnownType属性を使用しようとするとコンパイルエラーが発生するため、代わりにServiceKnownType属性を使用しました。