当我们创建 WCF 服务时,我们有 SrviceContract(接口)、OperationContract(方法)和 DataContract(类类型)。
我想知道我们是否可以在没有 DataContract 的情况下拥有 OperationContract。如果是,任何示例都会有很大帮助。
珍惜你的时间。
谢谢
当我们创建 WCF 服务时,我们有 SrviceContract(接口)、OperationContract(方法)和 DataContract(类类型)。
我想知道我们是否可以在没有 DataContract 的情况下拥有 OperationContract。如果是,任何示例都会有很大帮助。
珍惜你的时间。
谢谢
该DataContract
属性仅表示将在您的服务中的签名中使用的类。因此,如果您的服务不需要引用您的任何类,那么您将不会在DataContract
任何地方拥有属性。
例如,如果您只有接受和返回原始类型(如字符串或数字)的方法,那么您不必定义任何自己的类。
我不知道你为什么想要这个,但如果你只返回和/或传递原语和可空值(字符串、日期、int?s 等)和相同的列表/数组,你就不需要创建任何数据合同。您要传递的任何结构化数据都需要 DataContract 属性,否则将引发异常。
所以,一些可行的例子是......
[ServiceContract]
public interface ISimpleContract
{
[OperationContract] void DoSomething();
[OperationContract] int GetNumber();
[OperationContract] string GetStatus(int userId);
[OperationContract] string[] GetCodes(int? byDepartment);
[OperationContract] List<int> GetNumberOfStrings(string[] strings);
}