Web服务客户端类型转换
本文关键字:类型转换 客户端 服务 Web | 更新日期: 2023-09-27 18:11:22
这是我第一次使用。net,所以问题可以很简单。我有Web Service的Web方法:
[WebMethod(CacheDuration = 30,
Description = "Returns an Array of Clients.")]
public ClientData[] GetClientData(int Number)
{
ClientData[] Clients = null;
if (Number > 0 && Number <= 10)
{
Clients = new ClientData[Number];
for (int i = 0; i < Number; i++)
{
Clients[i].Name = "Client " + i.ToString();
Clients[i].ID = i;
}
}
return Clients;
}
我为这个Web服务创建了客户端:
LocalService.Service1 service = new LocalService.Service1();
String data = service.HelloWorld();
ClientData[] clients = service.GetClientData(3);
我已经在Web服务和Web客户端声明了struct datetype:
public struct ClientData
{
public String Name;
public int ID;
}
现在我得到了Cleint中的错误:
Error 1 Cannot convert type 'ConsoleApplication1.LocalService.ClientData[]' to 'ConsoleApplication1.ClientData[]' C:'Users'ademidov'documents'visual studio 2010'Projects'WebService1'ConsoleApplication1'Program.cs 22 36 ConsoleApplication1
试试这个:
LocalService.ClientData[] clients = service.GetClientData(3);
可能发生的情况是,您可能在自己的代码中再次声明了ClientData,但这不是服务返回的定义。所以你需要获取服务使用的相同数据类型的数据。因此我们使用了LocalService。ClientData类。
这仅仅意味着我们希望在LocalService命名空间中使用ClientData类,它包含有关服务对象的详细信息。