2012-03-14 32 views
6

Tôi đang tùy chỉnh ứng dụng giỏ hàng bằng php. trong ứng dụng này tôi phải tích hợp một số phần với ứng dụng C# .net khác, vì vậy tôi đang sử dụng webservice trong giỏ hàng mua sắm php. Trong một trong các phương thức webservice, một số giá trị sẽ chuyển thành một mảng kết hợp như thế này.C# tương đương với mảng kết hợp 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)); 

trong php làm việc của mình tốt ... nhưng vấn đề là tôi đang phải vật lộn với C# .net, làm thế nào tôi có thể vượt qua mảng kết hợp với C# .net? Tôi là một lập trình viên php Tôi nghĩ rằng không có mảng liên kết trong C# .net và ai đó nói rằng C# từ điển có thể sử dụng thay vì đó, Nhưng điều đó không làm việc với cuộc gọi webservice

C# code đang

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

ai cũng có thể đưa ra một số lời khuyên?

+4

Bạn đã thực sự cố gắng viết bất kỳ mã C# sử dụng từ điển để tìm ra rằng họ không làm việc với các dịch vụ web? – BoltClock

+0

vâng tôi đã thử, –

+5

Vậy mã đó ở đâu? – BoltClock

Trả lời

2

Tôi nghĩ bạn muốn có một Dictionary<string, int>. Nhưng tôi có thể sai. Bạn sẽ thấy những gì lớp được tạo ra được sử dụng khi bạn gọi dịch vụ web.

Để gọi dịch vụ web, nhấp chuột phải vào thư mục Tham khảo của dự án của bạn. Nói Thêm tham chiếu dịch vụ.

Đặt url WSDL vào đó và để nó tạo các lớp cho bạn.

+0

Bây giờ, anh ấy muốn chuyển từ điển đó sang dịch vụ web. – swasheck

Các vấn đề liên quan