22-Mar-2016
12:44
- last edited on
04-Jun-2023
17:51
by
JimmyPackets
What am I doing wrong here?
var iportType = assembly.GetExportedTypes().Where(o => o.FullName == "iControl.CommonAddressPort").First();
dynamic ipPortDefinition = Activator.CreateInstance(iportType);
var iControlMethodType = assembly.GetExportedTypes().Where(o => o.FullName == "iControl.LocalLBPool").First();
// instantiate controlMethodType
dynamic iControlMethodInstance = Activator.CreateInstance(iControlMethodType);
ipPortDefinition.address = memberIP;
ipPortDefinition.port = Convert.ToInt32( memberPort);
try
{
iControlMethodInstance.Invoke("add_member_v2", iControlMethodInstance, new object[]
{ poolName, ipPortDefinition });
}
catch (Exception e)
{
throw e;
}
Any help is greatly appreciated, I've been pulling my hair for 2 days now.
23-Mar-2016
13:23
- last edited on
04-Jun-2023
17:50
by
JimmyPackets
Don't know .NET and it looks like you do, so I'm in very deep water here, but the prototype says:
add_member_v2(
in String [] pool_names,
in Common__AddressPort [] [] members
);
It looks like you might want to convert poolName into an array containing the pool name as the only element. Then make sure that the ipPortDefinition is a nested array. Try that?
/Patrik