我有以下内容,但我不确定这是正确的做法。
namespace WCFServices
{
[ServiceContract(Name = "IService")]
[ServiceKnownTypeAttribute(typeof(DataItem))]
public interface IService
{
[OperationContract]
void InstantiateThirdParties(string name, IEnumerable<IDataItem> data, IEnumerable<string> modules, IEnumerable<string> states);
}
}
这是使用接口(interface)的代码。
namespace WCFServices
{
public class Service : IService
{
public void InstantiateThirdParties(string name, IEnumerable<IDataItem> data, IEnumerable<string> modules, IEnumerable<string> states)
{
Process.ExecuteAll(name, data, modules, states);
}
}
}
目前我唯一的对象类型如下。
namespace DataObjects
{
[Serializable]
[DataContract]
public class DataItem : IDataItem
{
public DataItem();
[DataMember]
public CustomerInfo customer { get; set; }
[DataMember]
public LoanInfo loan { get; set; }
[DataMember]
public DateTime loanProcessingDate { get; set; }
[DataMember]
public string moduleID { get; set; }
[DataMember]
public string processingState { get; set; }
}
}
我的方向是否正确?
最佳答案
您需要使用 KnownTypeAttribute 而不是 ServiceKnownTypeAttribute。
关于c# - 如何在 WCF 服务中将接口(interface)作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26611750/