1

我有一个将由 .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 属性。

4

0 回答 0