.net core Soap Wcf Stream transmitted through DataTable

.net Core 2.2 does not support Saop return type DataTable, DataSet list and so on.

By the DataTable had WriteXML / ReadXML be implemented for transmission of DataTable

Server

   public Stream ExecuteDs(string _Tsql)
        {
                var conn = "Data Source=(LocalDB)\\MSSQLLocalDB; Database=abpzero71;MultipleActiveResultSets=true;";
                using (var sqlConnection = new SqlConnection(conn))
                {
                    DataTable table = new DataTable("MyTable");
                    var dataTables = sqlConnection.ExecuteReader(_Tsql);
                    table.Load(dataTables);

                    System.IO.MemoryStream xmlStream = new System.IO.MemoryStream();
                    table.WriteXml(xmlStream, XmlWriteMode.WriteSchema);
                    xmlStream.Position = 0;
                    return xmlStream;
                }
}

// Client

       var result2 = client.ExecuteDsAsync("select  1 a ").Result;
                MemoryStream mem = new MemoryStream(result2);
                DataTable newTable = new DataTable();
                newTable.ReadXml(mem);

                Console.WriteLine(JsonConvert.SerializeObject(newTable));

Guess you like

Origin www.cnblogs.com/hongshao/p/11417277.html
Recommended