首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

怎样在WebService中使用DataTable,SqlParameter做参数,该怎么解决

2012-01-28 
怎样在WebService中使用DataTable,SqlParameter做参数我的WebService有一个类,[WebService(Namespacehtt

怎样在WebService中使用DataTable,SqlParameter做参数
我的WebService有一个类,
[WebService(Namespace   =   "http://tempuri.org/ ")]
        [WebServiceBinding(ConformsTo   =   WsiProfiles.BasicProfile1_1)]
        [ToolboxItem(false)]
        public   class   reDataSet   :   System.Web.Services.WebService
        {
                [WebMethod]
                public   DataSet   rDs(System.Data.SqlClient.SqlParameter   sp)
                {
                        DataSet   ds   =   new   DataSet();
                        return   ds;
                }
        }
参数中有SqlParameter类型的,但是在WinForm中引用后,
参数SqlParameter变成了形如
WinFormUseServices.TestServices.SqlParameter类型
的参数,
可是我想在WinForm中直接用SqlParameter类型为参数

请问该怎么才能实现


[解决办法]
datatable在.net2.0之后是可xml序列化的,因此可以作为参数或返回值
sqlparameter不能序列化的应该,写个自定义类传递值吧
[解决办法]
最好不要用 SqlParameter 类型为参数
[解决办法]
首先,不能序列化/反序列化的类型是无法作为接口在WebService中使用。
其次,webservice本身就没有状态,你这样写就是要把db connection的信息写到参数里面,是很危险的设计。
最后,webservice不适合作DBAccess这层,并发,效率,安全都不合适,建议你直接使用ADO在WebService来做,接口改变一下,自定义类型。

热点排行