首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF和[DATACONTRACT]+[DATAMEMBER]

WCF和[DATACONTRACT]+[DATAMEMBER]
EN

Stack Overflow用户
提问于 2011-05-24 21:41:54
回答 2查看 733关注 0票数 0

我想知道如何将DataContract添加到我的服务中?我的意思是,我知道我必须创建一个类,将DATACONTRACT放在它的顶部,然后将DATAMEMBER添加到每个成员的顶部,但是如何将DataContract添加到服务中(我已经在服务上运行了ServiceContract和OperationContract )?

我现在正在编程做所有的事情(没有.config文件)。

显示我如何启动和添加我的OperationContract的代码片段:(我使用的是.NET 4.0)

服务端:

代码语言:javascript
复制
            using (ServiceHost host = new ServiceHost(typeof(StringReverser), new Uri[]{ new Uri("net.tcp://localhost") }))
            {

                   host.AddServiceEndpoint(typeof(IStringReverser), new NetTcpBinding(), "TCPReverse");

                   host.Open();
            }

客户端:

代码语言:javascript
复制
        Callbacks myCallbacks = new Callbacks();

        DuplexChannelFactory<IStringReverser> TCPFactory =
           new DuplexChannelFactory<IStringReverser>(
              myCallbacks,
              new NetTcpBinding());

        TCPFactory.Credentials.Windows.ClientCredential = new System.Net.NetworkCredential("username", "password");
        IStringReverser TCPProxy = TCPFactory.CreateChannel();

        Console.WriteLine("Client connected");

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2011-05-24 21:47:04

你不需要在任何地方“添加”数据合约。您只需将其用作服务契约或回调契约中任何操作的参数或返回值。数据契约定义了作为服务请求或响应的一部分传输的数据。如果服务的任何操作都没有使用数据契约,那么它显然与服务没有关系(对于元数据,它不包括在内)。

唯一的例外是一些具有已知类型的高级场景,但在这个问题中可能不是这样。

票数 0
EN

Stack Overflow用户

发布于 2011-05-24 21:50:19

DataContracts是传递给您的服务操作的内容。通常,如果你有复杂的类型作为参数,你会用一个DataContract属性来修饰它们。

如果您只将原始类型作为参数处理,那么DataContract就没有什么可修饰的了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6111326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档