我正在用php定制购物车应用程序。在此应用程序中,我必须将某些部分与另一个C#.net应用程序集成,因此我在php购物车中使用了Web服务。在Web服务的一种方法中,某些值应作为关联数组传递,如下所示:

$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));

在PHP中工作正常...
但是问题是我在C#.net上苦苦挣扎,如何通过C#.net传递关联数组?
我是一名PHP程序员,我认为C#.net中没有关联数组,有人说可以使用C#字典代替它,但这不适用于webservice调用。

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  });

有人可以给些建议吗???

最佳答案

我认为您想要一个Dictionary<string, int>。但是我可能是错的。调用Web服务时,您应该看到使用了什么生成的类。

要调用Web服务,请右键单击项目的References文件夹。说“添加服务引用”。

将WSDL URL放在那里,并让它为您生成类。

10-06 11:05
查看更多