Forum Discussion
Steffen_Beach_8
Feb 25, 2010Nimbostratus
Scratching my head here...
I'm trying to assemble an array of LocalLBPoolMemberMemberSessionState[][] and compiling it together with an array of pools to modify pool member state.
Right now my code is bombing out when I trying to create this:
sessionState[ i ][0].member = new iControl.CommonIPPortDefinition(); <--
Will this work?
public void ChangePoolMemberState(List members, f5Objects.MemberState state)
{
LocalLBPoolMemberMemberSessionState[][] sessionstate = GetPoolMemberSessionState(members, state);
string[] pools = GetPoolsFromMembers(members);
m_interfaces.LocalLBPoolMember.set_session_enabled_state(pools, sessionstate);
}
private string[] GetPoolsFromMembers(List members)
{
List pools = new List();
foreach (f5Objects.PoolMember member in members)
{
if (!pools.Contains(member.Parent))
pools.Add(member.Parent);
}
return pools.ToArray();
}
private LocalLBPoolMemberMemberSessionState[][] GetPoolMemberSessionState(List members, f5Objects.MemberState state)
{
LocalLBPoolMemberMemberSessionState[][] sessionState = new LocalLBPoolMemberMemberSessionState[members.Count][];
for (int i = 0; i < members.Count; i++)
{
sessionState[ i ][0].member = new iControl.CommonIPPortDefinition();
sessionState[ i ][0].member.address = members[ i ].IP;
sessionState[ i ][0].member.port = members[ i ].Port;
sessionState[ i ][0].session_state = (CommonEnabledState)state;
}
return sessionState;
}