【问题标题】:Why do my WCF class names have the parent class as part of their name?为什么我的 WCF 类名将父类作为其名称的一部分?
【发布时间】:2013-11-23 20:20:48
【问题描述】:

我一直在试验启用 Silverlight 的 WCF 服务,但我遇到了一个奇怪的行为,这在我使用的教程中没有发生。我创建了一个类似这样的简单操作合同:(是的,我知道没有定义所有内容的接口,这是启用 Silverlight 的模板所做的)

[ServiceContract(Namespace = "")]
[SilverlightFaultBehavior]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class TestService1
{

    public class TestResponse
    {
        public string Hello { get; set; }
    }

    [OperationContract]
    public TestResponse TestCall()
    {
        return new TestResponse();
    }
}

然后我像创建常规 WCF 服务一样创建对它的引用。但是当我去使用我定义的类时:

ServiceReference2.TestService1TestResponse test = new ServiceReference2.TestService1TestResponse();

而我期待ServiceReference2.TestResponse。知道为什么我的父类名被连接到我的数据成员类名的前面吗?我添加了一个对普通控制台应用程序的服务引用,并且发生了同样的事情,所以它不是与 Silverlight 相关的事情。也许是启用 Silverlight 的 WEC 服务中的一些设置?我看了这个教程 https://www.youtube.com/watch?v=8ln2LyWvf6Q 看看它是否发生在其他人身上,但看起来类名在那里工作得很好。

【问题讨论】:

    标签: c# wcf silverlight


    【解决方案1】:

    幸运的是,我发现了问题所在。我需要在 TestService1 类之外声明 TestResponse 类。我有点惊讶用于创建服务引用的代码生成器以这种方式创建类。我期待的是 ServiceReference2.TestService1.TestResponse,这让我非常失望。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多