c# - Sharing .Net types in a wcf service with a no .Net client -


i develop webservice in wcf returning dataset.

when create .net test app consume wcf can receive dataset , assign datagrid without problem. visual studio job me.

but when partner trying consume wcf in c++ told me processes data xml , parsing string.

i guess there should exist better way consumes data.
because i'm not familiar c++, don't know how should work.
should create class dataset row , return myclass array instead?

now, on other hand if want receive dataset him?
how create xml?
or should receive xml string instead , parsing on side?

edit: in case c++ under linux.

the dataset .net data type won't have specific analogue in non .net languages. if c++ consumer using .net, in theory dataset should deserializable.

for api, want use simple custom objects , collection types can serialized array. example, if dataset has schema contains

column1    int column2    string column3    bool 

and forth, create custom class represent that:

public class yourobjecttype  {     public int column1 { get; set; }     public string column2 { get; set; }     public bool column3 { get; set; } } 

and store dataset contents in appropriate collection object. if sorting important, convert queue<yourobjecttype>, otherwise list<yourobjecttype> best approach. both of these types serialize array. can iterate across rows in dataset create 1 object per row , place object in new collection.

as further tip: performance boost, getting rid of dataset altogether. if pulling database, better datareader instead of dataset, , map contents of datareader directly new object type , collection. datasets computationally expensive compared directly reading database data.


Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -