В такой ситуации я бы рассмотрел многомерный массив, и если службы не меняются, рассмотрите возможность сохранения его в массиве приложений. Приложение при запуске
Dim aryServices(3, 4) As Object '4 services, 3 properties per service
aryServices.SetValue(1, 0, 0)
aryServices.SetValue("Action A", 1, 0)
aryServices.SetValue("First Name, Last Name, Address", 2, 0)
aryServices.SetValue(2, 0, 1)
aryServices.SetValue("Action B", 1, 1)
aryServices.SetValue("First Name, Last Name,ZipCode", 2, 1)
aryServices.SetValue(3, 0, 2)
aryServices.SetValue("Action C", 1, 2)
aryServices.SetValue("First Name, Last Name,Password", 2, 2)
aryServices.SetValue(4, 0, 3)
aryServices.SetValue("Action D", 1, 3)
aryServices.SetValue("Last Name,Password", 2, 3)
Application.Item("aryServices") = aryServices
Если у вас есть идентификатор службынуля, это было бы здорово, потому что тогда вы могли бы просто сопоставить идентификатор сервиса с индексом массива.Когда вам нужно что-то найти, вы можете получить массив следующим образом:
Dim aryServices(,) As Object = Application.Item("aryServices")
Response.Write(aryServices.GetValue(1, 1))
Он не так эффективен, как объект словаря, но иногда в начале проекта этот метод был простым способоммне начать.