Problem mit Rückgabe List von Webservice

10/11/2009 - 12:28 von Dirk Herwig | Report spam
Hallo,

gleich noch ein Problem. Ich habe in meinem Webservice folgende Funktion:

[WebMethod]
public List<CFileList> LoadMediaObjectList(string projectnumber,string
playername, string hashwert)
{
List<CFileList> cfilelist = new List<CFileList>();

return cfilelist;
}
[Serializable]
public class CFileList
{

public CFileList(long fl, string fn, string fd)
{
FileLength = fl;
FileName = fn;
FileTime = fd;
}
public long FileLength = 0; // File Size
public string FileName = string.Empty; // File name
public string FileTime = string.Empty; // File Creation Time UTC

}


Folgendermaßen möchte ich zugreifen:
private void LoadMediaFileList()
{
WSServer.WsPlayerInstall MyWS = new WSServer.WsPlayerInstall();
List<WSServer.CFileList> cfilelist = new List<WSServer.CFileList>();

...
cfilelist = MyWS.LoadMediaObjectList(projectnumber, playername,
hashwert);
...
}

Bei cfilelist = MyWS.LoadMediaObjectList(projectnumber, playername,
hashwert); kommt der Fehler:
Fehler 1 Eine implizite Konvertierung vom Typ "Player.WSServer.CFileList[]"
in "System.Collections.Generic.List<Player.WSServer.CFileList>" ist nicht
möglich. F:\WebUI\Player\Player\Player\Form1.cs 349 33 Player


Was mache ich denn verkehrt?

Dirk
 

Lesen sie die antworten

#1 Roland Ließ
10/11/2009 - 13:44 | Warnen spam
Hallo Dirk,

[WebMethod]
public List<CFileList> LoadMediaObjectList(string projectnumber,string
playername, string hashwert)
{
List<CFileList> cfilelist = new List<CFileList>();

return cfilelist;
}
[Serializable]
public class CFileList
{

public CFileList(long fl, string fn, string fd)
{
FileLength = fl;
FileName = fn;
FileTime = fd;
}
public long FileLength = 0; // File Size
public string FileName = string.Empty; // File name
public string FileTime = string.Empty; // File Creation Time UTC

}


Folgendermaßen möchte ich zugreifen:
private void LoadMediaFileList()
{
WSServer.WsPlayerInstall MyWS = new WSServer.WsPlayerInstall();
List<WSServer.CFileList> cfilelist = new List<WSServer.CFileList>();

...
cfilelist = MyWS.LoadMediaObjectList(projectnumber, playername,
hashwert);
...
}

Bei cfilelist = MyWS.LoadMediaObjectList(projectnumber, playername,
hashwert); kommt der Fehler:
Fehler 1 Eine implizite Konvertierung vom Typ
"Player.WSServer.CFileList[]" in
"System.Collections.Generic.List<Player.WSServer.CFileList>" ist nicht
möglich. F:\WebUI\Player\Player\Player\Form1.cs 349 33 Player


Was mache ich denn verkehrt?


Player.WSServer.CFileList[] ... deutet auf eine falsche Reference für
CollectionTypes.

Wenn du den Client Proxy mit Visual Studio erzeugst kannst du unter
Dienstverweis konfigurieren als Auflistungstyp diesen angeben.
Standardmàßig steht dort System.Array.
Dort kannst du dann System.Collections.Generic.List auswàhlen.

Wenn du den Client Proxy manuellen erstellst must die
ReferencedCollectionTypes angegeben?

Hier noch ein Link
http://msdn.microsoft.com/de-de/lib...47850.aspx

Gruß Roland

Ähnliche fragen