.net core Soap Wcf 經過 Stream 傳輸 DataTable

.net Core 2.2 不支持Saop返回類型爲 DataTable ,DataSet list等.sql

只好經過 DataTable的 WriteXML/ReadXML 來實現對於DataTable  的傳輸spa

服務端.net

   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;
                }
}

//客戶端code

       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));
相關文章
相關標籤/搜索