将类对象传递给WebService
本文关键字:WebService 对象 | 更新日期: 2023-09-27 18:12:39
如何将类' BL_Customer'的类对象'obj'从我的Web应用程序传递到我的Webservice (ASMX)中的函数'Insert()',然后在Webservice中访问该对象的属性?我已经通过"添加WebReference"设施包括了我的远程网络服务。我还包括了"使用WebRererence"命名空间。如有任何帮助,不胜感激。
这是我在业务层的BL_Customer类:
public class BL_Customer
{
public BL_Customer()
{
}
string c_Cust_Name = string.Empty;
string c_Mobile_no = string.Empty;
public string Cust_Name
{
get { return c_Cust_Name; }
set { c_Cust_Name = value; }
}
public string Mobile_no
{
get { return c_Mobile_no; }
set { c_Mobile_no = value; }
}
}
这是我的数据访问层:
public class DAL_Customer
{
public SqlConnection con = new SqlConnection();
WebReference.Service objWEB = new WebReference.Service(); //objWEB -> Webservice object
Connection c = new Connection();
public DAL_Customer()
{
}
public int Customer_Insert(BL_Customer obj)
{
---------
---------
return objWEB.Insert(obj); // Insert() is a function in my remote webservice
}
}
这是我的webservice:
public class Service : System.Web.Services.WebService
{
public Service () {
}
[WebMethod]
public string insert(**What should be here?**)
{
-----
-----
}
}
问候,大卫。
根据您用来构建web服务的技术,可能有不同的方法来实现这一点。如果您正在使用现在已弃用的ASMX web服务,您将添加一个方法,该方法将作为您需要的类的参数:
[WebMethod]
public void DoSomething(Person p)
{
...
}
如果你正在使用WCF,这是在。net中构建web服务的推荐技术,你将设计一个服务契约:
[ServiceContract]
public interface IMyService
{
void DoSomething(Person p);
}
在这两种情况下,为了使用服务,您将在客户端上生成强类型代理。再次推荐使用Visual Studio中的"添加服务引用"对话框,通过将其指向web服务的WSDL来生成强类型代理。然后调用方法:
using (var client = new MyServiceClient())
{
Person p = new Person
{
FirstName = "john",
LastName = "smith"
};
client.DoSomething(p);
}
如果您的客户端建立在pre-。你需要使用Visual Studio中的"添加Web引用"对话框来生成客户端代理。
如果你在你的web服务中定义了类'Bill',你将能够在你的web应用程序和web服务中使用它。我不确定是否有一种方法来使用在web服务上的应用程序中定义的类,但我认为它不是。