我有一个简单的类,其中包含对服务的请求所需的属性。
我希望消费者在他们的最后实例化这个类,填充它,然后将其传递回服务。也许我正在使用的术语并不完全正确,但我确信我已经阅读了过去在其他系统上可能实现的一些项目说明。
[DataContract]
public class SearchRequestObject
{
[DataMember]
public string WebsiteGuid { get; set; }
}
我在服务项目中设置了DataContract和DataMember。一旦我发布它并在另一个项目上使用它,我就不会在任何地方看到SearchRequestObject。我猜这是因为它必须在服务的界面中定义?如果是这样,怎么样?
感谢。
答案 0 :(得分:1)
通常,SearchRequestObject
将是您的某个服务方法中使用的对象之一,例如:
[ServiceContract(ConfigurationName = "IWCFService")]
public interface ICascadeManagementService
{
[OperationContract(Action = "http://tempuri.org/IWCFService/DoSearch")]
SearchResponseObject DoSearch(SearchRequestObject searchRequest);
}
当您的客户端类自动生成时,它们将在reference.cs文件中包含SearchRequestObject
,其中包含定义。
如果它已经包含在方法中,则可能无法生成它,因为您的客户端项目直接引用了定义SearchRequestObject
的项目,并且当您创建服务引用时,您正在重用引用程序集中的类型。您可以检查是否在客户端项目的引用列表中有引用,以及是否在“添加服务引用”对话框的“高级”部分中重用引用程序集中的类型。