C# WCF服务:请求仅限于一个;“请求”;Paramater

C# WCF服务:请求仅限于一个;“请求”;Paramater,c#,wcf,C#,Wcf,我对WCF服务有一个非常奇怪和模糊的问题,我希望能对这个问题有所了解: 我正在使用一个WCF服务,我们正在构建该服务,以取代一个我们不再有源代码的服务。出于某种原因,在新的WCF服务中,所有内容都是通过一个名为“request”的参数强制执行的。使用WCF测试客户端,这就是它的外观 在“正确”服务上,它看起来是这样的: 这有什么原因吗?我将所有请求定义如下: [ServiceContract] public interface IMyService { [OperationC

我对WCF服务有一个非常奇怪和模糊的问题,我希望能对这个问题有所了解:

我正在使用一个WCF服务,我们正在构建该服务,以取代一个我们不再有源代码的服务。出于某种原因,在新的WCF服务中,所有内容都是通过一个名为“request”的参数强制执行的。使用WCF测试客户端,这就是它的外观

在“正确”服务上,它看起来是这样的:

这有什么原因吗?我将所有请求定义如下:

[ServiceContract]
public interface IMyService
{
        [OperationContract]
        string SomeRequest();
}

这似乎是正确的,但可能是我忽略了一些原因。

在原始WCF服务中,有一个请求函数参数,其定义类似于以下内容:

[ServiceContract]
    public interface IMyService
    {
        [OperationContract]
        Request SomeRequest(Request request);
    }
    [DataContract]
    public class Request
    {
        string documentId;


        [DataMember]
        public string DocumentId
        {
            get { return documentId; }
            set { documentId = value; }
        }
    }
在新的wcf服务中:

[ServiceContract]
    public interface IMyService
    {
        [OperationContract]
        string SomeRequest(string documentId);
    }

这是因为函数参数不同。最初您的参数是class,但后来更改为string,因此WCFTestClient中的显示不同。

在原始WCF服务中,有一个请求函数参数,其定义类似于以下内容:

[ServiceContract]
    public interface IMyService
    {
        [OperationContract]
        Request SomeRequest(Request request);
    }
    [DataContract]
    public class Request
    {
        string documentId;


        [DataMember]
        public string DocumentId
        {
            get { return documentId; }
            set { documentId = value; }
        }
    }
在新的wcf服务中:

[ServiceContract]
    public interface IMyService
    {
        [OperationContract]
        string SomeRequest(string documentId);
    }

这是因为函数参数不同。最初您的参数是class,但后来更改为string,因此WCFTestClient中的显示有所不同。

您好,我可以知道现在的问题是什么吗?如果您没有任何其他顾虑,请记住标记答案。它最终与一个非常模糊的问题有关,我们的“模型”类定义了一种特殊的dict类型,导致了这一问题。删除我们的自定义dict类型导致了正常行为,我回来后会发布一个答案!嗨,我可以知道现在的情况吗?如果您没有任何其他顾虑,请记住标记答案。它最终与一个非常模糊的问题有关,我们的“模型”类定义了一种特殊的dict类型,导致了这一问题。删除我们的自定义dict类型导致了正常行为,我回来后会发布一个答案!