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