我想在 .NET 中使用一些 amfphp 函数并访问一些对象。经过一番搜索,我找到了一个可以解决问题的开源网关。 如何使用 .NET WPF 应用程序中的 AMFPHP 函数?
好的,我现在就是这样,我真的可以使用一些帮助。建立连接并正确调用后
public void Connect()
{
// Create NetConnection client
_netConnection = new NetConnection();
_netConnection.ObjectEncoding = ObjectEncoding.AMF0;
_netConnection.NetStatus += new NetStatusHandler(_netConnection_NetStatus);
_netConnection.Connect("http://www.mytestserver.nl/services/gateway");
System.Console.WriteLine("*** Flash RPC ***");
_netConnection.Call("amfphp.mytestserver.getObjects", new GetCustomersHandler(), new object[] { "415" });
System.Console.WriteLine("Press 'Enter' to exit");
}
在我的处理程序中
public class GetCustomersHandler : IPendingServiceCallback
{
public void ResultReceived(IPendingServiceCall call)
{
object result = call.Result;
System.Console.WriteLine("Server response: " + result);
//DataAccess sample sends back an ArrayCollection (AMF3)
ArrayCollection items = result as ArrayCollection;
foreach (object item in items)
{
Flex.CustomerVO customer = item as Flex.CustomerVO;
System.Console.WriteLine(customer.firstname + " " + customer.lastname);
}
}
}
这是在示例文件夹中给出的项目中完成的方式。我无法遍历 items ,所以我想让我看看如何访问我的 results 对象。这是它(至少对我而言)变得有点棘手。我可以在我的列表中将结果视为类型对象,我可以访问结果数组 (?object) ,但是我如何在代码中遍历我的结果对象,因为它不是一个数组。为了澄清,我添加了一些截图。
http://imageshack.us/f/685/fluorine1.png/ 可以在这里看到包含 46 个项目的结果。
更多说明 http://imageshack.us/f/38/fluorine2.png/ (例如,我希望访问密钥、值等)。有没有人有解决方案或方法。感觉并不困难(也许是这样),但我似乎遗漏了一些东西。有人帮助吗?