【问题标题】:How to insert operation through WCF Service with MYSQL?MYSQL如何通过WCF服务插入操作?
【发布时间】: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 填写您的数据并将其发布到服务中。

标签: c# mysql .net wcf


【解决方案1】:

这是你需要修改的方式:

[ServiceContract]
public interface IServiceClient
{
    [OperationContract]
    void InsertMaster(Service ServiceObj);
}

[DataContract]
public class Service
{
    [DataMember]
    public string Id;
    [DataMember]
    public string Submitter;
    [DataMember]
    public string Comments;
    [DataMember]
    public DateTime TimeSubmitted;
}

public void InsertMaster(Service ServiceObj)
{
    string query = "INSERT INTO movies (id, submitter, comments, time) VALUES(ServiceObj.id, ServiceObj.submitter, ServiceObj.comments, ServiceObj.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();

}

一旦您使用 WCF 测试客户端进行测试,合同就会出现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多