我想知道如何将DataContract添加到我的服务中?我的意思是,我知道我必须创建一个类,将DATACONTRACT放在它的顶部,然后将DATAMEMBER添加到每个成员的顶部,但是如何将DataContract添加到服务中(我已经在服务上运行了ServiceContract和OperationContract )?
我现在正在编程做所有的事情(没有.config文件)。
显示我如何启动和添加我的OperationContract的代码片段:(我使用的是.NET 4.0)
服务端:
using (ServiceHost host = new ServiceHost(typeof(StringReverser), new Uri[]{ new Uri("net.tcp://localhost") }))
{
host.AddServiceEndpoint(typeof(IStringReverser), new NetTcpBinding(), "TCPReverse");
host.Open();
}客户端:
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");提前感谢
发布于 2011-05-24 21:47:04
你不需要在任何地方“添加”数据合约。您只需将其用作服务契约或回调契约中任何操作的参数或返回值。数据契约定义了作为服务请求或响应的一部分传输的数据。如果服务的任何操作都没有使用数据契约,那么它显然与服务没有关系(对于元数据,它不包括在内)。
唯一的例外是一些具有已知类型的高级场景,但在这个问题中可能不是这样。
发布于 2011-05-24 21:50:19
DataContracts是传递给您的服务操作的内容。通常,如果你有复杂的类型作为参数,你会用一个DataContract属性来修饰它们。
如果您只将原始类型作为参数处理,那么DataContract就没有什么可修饰的了。
https://stackoverflow.com/questions/6111326
复制相似问题