1

int(EmailID)と文字列(EmailAddress)を含むUserEmailオブジェクトを含むDataObjectsクラスがあります。

C#.netアプリケーション内で、電子メールアドレスのリストを表示する場合は、UserEmailオブジェクトのリストを作成してデータを入力します。

List<DataObjects.UserEmails> myUserEmailsList = new List<DataObjects.UserEmails>();

そして、私がたまたま使用しているコントロールのデータソースとして使用してください。

そのリストをWebサービスに渡す必要があります。これを行う方法がわかりません。相手がリストをパラメーターとして受け取るメソッドを使用してWebサービスを作成する場合、問題ありません。Webサービスを呼び出して、リストを渡すことができます。しかし、リスト内のオブジェクトを作成したクラスにアクセスすることなく、どのようにしてリストからデータを抽出できるのでしょうか。

オブジェクトのデータ構造が何であるかを知らなくても、オブジェクトのリストをループする方法はありますか?

4

2 に答える 2

1

Web サービスを利用するときは、データ構造に準拠する必要があります。UserEmail オブジェクト データを取得し、サービスが期待するオブジェクトに変換します。

get または post データとしてデータを必要とするだけのサービスを使用している場合は、必要なキーを使用する必要があります。したがって、「EmailAddress」のプロパティ名の代わりに「email」のキーを使用してメールアドレスを取得する可能性があります

于 2012-08-30T19:13:14.907 に答える
0
here a sample to pass list object to your webservice

    <%@WebService Language="c#" class="CustomObjectArrayWS"%>
using System;
using System.Collections;
using System.Web.Services;
using System.Xml.Serialization;
public class CustomObjectArrayWS
{
        [WebMethodAttribute]
        [XmlInclude(typeof(Address))]
        public ArrayList GetAddresses ()
    {
        ArrayList al = new ArrayList();
        Address addr1 = new Address("John Smith", "New York",12345);
        Address addr2 = new Address("John Stalk", "San Fransisco", 12345);

            al.Add(addr1);
            al.Add(addr2);

            return al;
    }
} 
// Custom class to be added to the collection to be passed in //and out of the service
public class Address
{
    public string name;
    public string city;
    public int zip;     
    // Default ctor needed by XmlSerializer
    public Address()
    {
    }
    public Address(string _name, string _city, int _zip  )
    { 
                    this.name = _name;
                    this.city = _city;
                     this.zip = _zip;
           }
       }

http://www.programmersheaven.com/2/XML-Webservice-FAQ-Pass-Array-Of-Custom-Objectsを参照してください。

于 2012-08-30T19:18:04.837 に答える