我想知道如何将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");
提前致谢
答案 0 :(得分:0)
您无需在任何地方“添加”数据合同。您只需将其用作服务合同或回调合同中任何操作的参数或返回值。数据协定定义作为服务请求或响应的一部分传输的数据。如果数据合同未被服务的任何操作使用,则它显然与服务无关(如果元数据不包括在内)。
唯一的例外是一些已知类型的高级方案,但在这个问题中可能不是这种情况。
答案 1 :(得分:0)
DataContracts是传递给您服务操作的内容。通常,如果您将复杂类型作为参数,则将使用DataContract属性修饰它们。
如果您只处理基本类型作为参数,则无需使用DataContract进行装饰。