2012-03-14 5 views
6

Sto personalizzando un'applicazione del carrello acquisti in php. in questa applicazione devo integrare alcune parti con un'altra applicazione C# .net, quindi sto usando webservice nel carrello php shoppnig. In uno dei metodi del servizio web alcuni valori dovrebbero passare come un array associativo come questo.C# equivalente all'array associativo php

$proxy = new SoapClient('www.mywebservice.com?wsdl'); 
    $associative_array= array(
    'abc'=> 1,'def'=>0,'ghi'=>1,'jkl'=>0 
    ); 

    $proxy->call($sessionId, 'methodname', array('somevalue', $associative_array)); 

in php il suo bel lavoro ... ma il problema è che io sono alle prese con C# .NET, come posso passare array associativo con C# .NET? Sono un programmatore php Penso che ci sia alcun array associativo in C# .NET e qualcuno ha detto che il C# dizionario può usare al posto di quello, Ma che non funziona con la chiamata di webservice

codice C# è

Dictionary<string,string> map=new Dictionary<string,string>(); 
       map.Add("abc","1"); 
       map.Add("def","0"); 

       object st = mgs.call(sessionid, "methodname", new object[] { "somevalue",map }); 

qualcuno può dare qualche consiglio ???

+4

Avete effettivamente provato scrivere alcun codice C# usando dizionari per scoprire che non funzionano con il servizio web? – BoltClock

+0

sì, ho provato, –

+5

Quindi dov'è quel codice? – BoltClock

risposta

2

Penso che tu voglia un Dictionary<string, int>. Ma potrei sbagliarmi. Dovresti vedere cosa viene utilizzata la classe generata quando chiami il servizio web.

Per chiamare il servizio Web, fare clic con il pulsante destro del mouse sulla cartella Riferimenti del progetto. Dire aggiungere riferimento al servizio.

Inserisci l'URL WSDL e consenti di generare le classi per te.

+0

Ora vuole passare quel dizionario a un servizio web. – swasheck