2009-08-19 116 views
0

我正在使用VS 2005(C#)。我的web服務返回一個類型如下:如何訪問ASMX Web服務客戶端代理類型?

[WebMethod] 
public Employee getEmployee() 
{ 
    Employee emp=new Employee(); 
    emp.EmpID=1000; 
    emp.EmpName="Wallace";  

    return emp; 
} 

從客戶端我創建了一個代理。

localhost.Service1 svc = new WindowsApplication1.localhost.Service1(); 

如何獲取getEmployee()方法返回的Employee對象。

我需要在客戶端創建一個Employee類嗎?

....喜歡...

localhost.Service1 svc = new WindowsApplication1.localhost.Service1(); 
Employee emp = new Employee(); 
object obj= svc.getEmployee(); 
emp = (Employee)obj; 
MessageBox.Show("Id=:" + emp.EmpID.ToString() + "," + "Name:=" + emp.EmpName); 

這樣還我收到鑄造錯誤。

回答

0

所有你需要的是這樣的:

using (localhost.Service1 svc = new WindowsApplication1.localhost.Service1()) 
{ 
    localhost.Employee emp = svc.getEmployee(); 
    MessageBox.Show("Id=:" + emp.EmpID.ToString() + "," + "Name:=" + emp.EmpName); 
} 
+0

是的,它的結果是我期望的。我是一個初學者,所以我還沒有學到很多東西。 – user158977 2009-08-19 08:27:05

0

你爲什麼要在對象獲取Employee對象,不能你得到這樣的:

Localhost.Service1 svc = new WindowsApplication1.localhost.Service1(); 
**Employee employee= svc.getEmployee();** 
MessageBox.Show("Id=:" + employee.EmpID.ToString() + "," + "Name:=" + employee.EmpName); 
+0

爲什麼要創建'emp'? – 2009-08-19 08:20:20

+0

我同意,emp根本不需要,對不起,我複製了他的代碼。 – Bhaskar 2009-08-19 08:25:13