WCF operationcontract with List type unavailable in (Silverlight) client

Posted by Dave on Stack Overflow See other posts from Stack Overflow or by Dave
Published on 2012-10-30T22:23:11Z Indexed on 2012/10/30 23:01 UTC
Read the original article Hit count: 183

Filed under:
|
|

This is the first time I have tried returning a List of data to a Silverlight client, so I'm having trouble getting the client to recognize this operationcontract. All others are fine.

I have a method on the server called ReadOwFileData that needs to return a List. ReadOwFileDataCompletedEventArgs shows up in the Object Browser in the client, but not ReadOwFileDataAsync.

What I want is similar to the tutorial here.

The Dictionary collection type on the client is set to System.Collections.Generic.List. I tried deleting and recreating the service reference. Web.Config on the server is using basicHttpBinding.

Here is the operationcontract on the server:

    [OperationContract]
    public List<OwFileData> ReadOwFileData(string OrderID)
    {
        DataClasses1DataContext db = new DataClasses1DataContext();
        var dFileData = (from p in db.OwFileDatas where p.OrderID == OrderID select p).ToList();
        List<OwFileData> x = new List<OwFileData>(dFileData);
        return x;
    }

Incidently, this works fine:

    [OperationContract]
    public Customer GetShippingAndContactInfo(string login, string ordernum)
    {
        DataClasses1DataContext db = new DataClasses1DataContext();
        Customer dInfo = (from p in db.Customers where p.Login == login select p).Single();
        return dInfo;
    }

I would like to read this data in the client and place it into an object I created called ObservableCollection. But that obviously can't happen until the client can see the method on the server.

I do not know if this is an acceptable start, but this is what is on the client so far. The ReadOwFileDataAsync object is null:

    void populatefilesReceivedDataSource(string OrderID)
    {
        ArtUpload.ServiceReference1.UploadServiceClient client = new ArtUpload.ServiceReference1.UploadServiceClient();
        var myList = client.ReadOwFileDataAsync(OrderID);
        // can I just itterate thru the list instead of 'binding'
    }

© Stack Overflow or respective owner

Related posts about c#

Related posts about Silverlight