【问题标题】:Silverlight WCF reused types no methodsSilverlight WCF 重用类型无方法
【发布时间】:2014-06-10 23:52:25
【问题描述】:

我觉得这应该非常简单,但我无法弄清楚发生了什么。我正在使用 WCF 服务并启用“在所有引用的程序集中重用类型”。我有一些简单的类来传输一些数据。类显示得很好,所有基本成员都显示出来了,但没有方法显示。方法不包括在其中吗?我必须以某种方式指定这是我想要的吗?这是一些示例代码。我只是换掉了我的名字,让它更通用一点。

public class Car
{
    public string CarColor { get; set; }
    public string Model { get; set; }
    public int Year { get; set; }

    public string GenerateId()
    {
        return CarColor + Model + Year;
    }
}

在此示例中,我在客户端获取 CarColor、Model 和 Year,但未获取 GenerateId。

【问题讨论】:

  • 您在 silverlight 项目中是否有对定义类的库的引用?如果是,请查看stackoverflow.com/questions/2066343/…
  • 我不知道,但也许这是我需要走的路线。我以为 WCF 只会把课程拉过来。
  • 不,只有在您的 Silverlight 项目中可以看到该类型时,它才会重用该类型。它只能从服务中获得描述数据而非行为的 WSDL。

标签: wcf silverlight


【解决方案1】:

所以我最终做了一些不同的事情。只有数据过来是完全有道理的。问题是我不想拥有一个新项目来保存数据类型。拥有一个新的存储库和一个针对少数类的完全独立的项目只是一种痛苦。因为我真的只需要客户端的方法,所以我只是在客户端创建带有它们的部分类。这样我可以从服务中提取数据结构,但仍然可以扩展它以获得我需要的方法。

服务定义

public class Car
{
    public string CarColor { get; set; }
    public string Model { get; set; }
    public int Year { get; set; }
}

客户端部分类

public partial class Car
{
    public string GenerateId()
    {
        return CarColor + Model + Year;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多