怎样在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来做,接口改变一下,自定义类型。