【发布时间】:2014-03-13 23:19:54
【问题描述】:
我尝试通过 WCF 服务创建插入操作。这是我所做的。首先,我将向您展示我的项目结构
每个文件说明:
IServiceClient.cs 包含,服务合同组
[ServiceContract]
public interface IServiceClient
{
[OperationContract]
void InsertMaster();
}
Service.cs 包含一组数据合约
[DataContract]
public class Service
{
[DataMember]
public string Id;
[DataMember]
public string Submitter;
[DataMember]
public string Comments;
[DataMember]
public DateTime TimeSubmitted;
}
ServiceClient.cs包含,类似Insert到MYSQL操作的业务逻辑
public void InsertMaster()
{
string query = "INSERT INTO movies (id, submitter, comments, time) VALUES(id, submitter, comments, time)";
//open connection
connection.Open();
//create command and assign the query and connection from the constructor
MySqlCommand cmd = new MySqlCommand(query, connection);
//Execute command
cmd.ExecuteNonQuery();
//close connection
connection.Close();
}
我的问题是,如何将 Data Contract 字段传递给 ServiceClient.cs 以便我可以编写一些 MYSQL 查询? “字符串查询”只是我想从数据合约给出的值中插入的演示
我的第二个问题是如何将数据合同字段加载到 WCF 测试客户端中?在我在客户端项目中使用它之前,我需要测试它是否可以工作
【问题讨论】:
-
public void InsertMaster(Service data) 和 OperationContract void InsertMaster(Service data);
-
为什么不让您的数据合约接受服务类型,在 ServiceClient 类中实现它。然后,当您在 WCF 测试客户端中运行它时,您应该能够使用其数据填写服务类类型并提交它,如果不是,您始终可以从底部的 XML 选项卡复制请求 XML,然后使用类似的程序在 Chrome 中使用 PostMan 填写您的数据并将其发布到服务中。