在datawindow中使用C#开发的WebService问题?[img=https://forum.csdn.net/PointForum/ui/script
datawindow通常需要若干行表数据,而C#提供的DataSet(或DataTable)可存储多行数据。但是,如果用C#写一个WebService返回DataSet或DataTable,datawindow将无法识别或接受该WebService,也就是说datawindow和DataSet之间存在互操作性障碍。虽然通过"外部数据源”做中间人可以解决该问题,即采用路径WebService返回DataSet-->外部数据源-->DataWindow,开发起来毕竟有些麻烦。我试图解决互操作性问题:即让用C#写的WebService返回PB定义的结构类型的数组,但需要知道PB使用了什么名字空间的数据类型以及相应的dll,这方面的资料很少(C#调用PB程序https://archive.sap.com/discussions/thread/3391198,或反之https://stackoverflow.com/questions/34306591/use-c-sharp-created-dll-in-powerbuilder-12-5-2)。
datawindow使用PB开发的WebService 毫无问题。后来,我干脆放弃了datawindow使用C#开发WebService返回DataSet作为数据源的想法,尽管这看起来非常诱人(提高开发效率),因为我看到这篇文章https://www.hanselman.com/blog/ReturningDataSetsFromWebServicesIsTheSpawnOfSatanAndRepresentsAllThatIsTrulyEvilInTheWorld.aspx,这篇文章大意是说C#的WEBSERVICE返回DataSet的做法就像是恶魔,因为DataSet的数据可以解释为任何类型,所以DataSet等价于一个可变的类。
无论如何,还是希望PB2018-2019-2020能解决这些问题。