WCF服务实现

时间:2012-11-20 20:29:02

标签: c# wcf datacontract datamember operationcontract

我在互联网上搜索了几本书,甚至还咨询了一些同行。没有什么能说明我试图做的是不好的做法。短;我只是在做客户的火灾和遗忘。

[ServiceContract]
public interface ICustomerInformation
{

       [OperationContract(IsOneWay = true, IsTerminating = true, IsInitiating = false)]
       ICustomerAccount GetCustomerDetails (string First);

}

[DataContract]
public interface ICustomerAccount
{
      _firstName = firstName;

      [DataMember]
      string FirstName 
      {
            get { return _firstName; }
            set { _firstName = value; }
      }
}

我最初的想法是一个类似于此的实现来抽象属性;所以绑定到服务器的服务器和应用程序可以使用这些属性。但这真的很聪明吗?甚至是好的做法?

我的假设是;通过将该层添加到服务,它将允许访问服务的用户界面简单地推送它的数据;同时允许功能直接绑定到数据中。因此,如果用户数据发生更改,服务将根据服务器上的功能更改它。

这是一种不好的观察方式吗?或尝试这个?我是否误解了这种解释?

像我上面所说的那样;目标是一种逻辑抽象,其中多种样式的接口将其数据推送到服务。然后服务接受输入;根据这些变量输入值执行一个函数。

如果我措辞不好让我知道,我可以编辑;或者想一个更好的解释方法。任何帮助都会很棒。


更新

我正在尝试创建一个通用接口;其中任何应用程序或客户端接口输入数据。一旦数据提交给服务;服务器接受它。无需返回数据;但服务器只使用客户端信息运行命令。

基本上,我试图通过服务来普遍推送数据,以便服务器完成任务。客户端不需要知道它正在执行的任何服务器任务。

我的思维过程是通过服务在逻辑上分离UI /用户输入;然后,该服务使用从用户收集的信息调用服务器端功能。

实施例: 文本框(名称) - >服务 - >服务器将Name存储为变量以执行一系列任务:将Name写入数据库,按用户名命名textfile,依此类推。

1 个答案:

答案 0 :(得分:3)

如果我理解正确,似乎你想要实现某种消息/命令传递模型,这对我来说似乎是完全合法的。以this article为例,讨论如何将命令用作架构模式。这些命令可以通过线路从客户端到(WCF)服务进行序列化,这使您可以创建高度可维护的服务层(如explained here)。 回到你原来的问题:是的,这似乎是一个合法的模型。虽然我建议阅读这些文章。他们可能会为您提供有关这些模型的更多背景信息。