【问题标题】:interface in webserviceWeb服务中的接口
【发布时间】:2011-04-02 20:37:54
【问题描述】:

我可以使用这样的网络服务吗:

[WebMethod]
public void SetFieldValue(IFieldValue fieldValue, long itemId)
{
    fieldValue.SetValue(itemId);
}

IFieldValue 在哪里是一个接口? 如果是这样 - 我如何确定客户端中的实例类型? 如果我不能在 web 服务中使用它,我是否应该创建 4 个不同的 web 服务来做同样的事情(我有 4 个 IFieldValue 实现)?

更新: 我的问题是我有一个存储项目的网络服务。项目具有字段并声明为:

class Item {
    IField[] fields{get;set;}

    more properties and methods
}

【问题讨论】:

  • 一个直接的解决方案是传递另一个参数来指示对象的实际类型。

标签: c# .net web-services client


【解决方案1】:

The answer is no。如果可以,请尝试使用抽象基类而不是接口 - 它应该可以正确序列化,并且可能适合您的要求。

【讨论】:

    【解决方案2】:

    我认为你也应该访问这个主题,Web Service Can't Serialize an Interface

    【讨论】:

      猜你喜欢
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      • 2011-01-09
      • 2010-11-19
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      相关资源
      最近更新 更多