Несколько месяцев назад я работал над проектом, чтобы отобразить методы WCF и их параметры в раскрывающемся списке. В то время я создавал прокси-сервер с использованием Add Service Reference и жестко запрограммировал интерфейс сервиса в коде.
Как я могу показать все методы, которые доступны в моем WCF в выпадающем списке
Но когда я пытаюсь создать прокси динамически, чтобы сделать то же самое, приведенный ниже код не работает. Пожалуйста, помогите мне показать только методы, которые были определены мной.
// Using Dynamic Proxy Factory by Vipul Modi @ Microsoft
DynamicProxyFactory factory = new DynamicProxyFactory(txtService.Text);
// endpoints.
string sContract = "";
foreach (ServiceEndpoint endpoint in factory.Endpoints)
{
sContract = endpoint.Contract.Name; //this is the service interface name, IAccountInfoService
}
DynamicProxy proxy = factory.CreateProxy(sContract);
Type proxyType = proxy.ProxyType;
MethodInfo[] methods = proxyType.GetMethods();
foreach (var method in methods)
{
//if (method.GetCustomAttributes(typeof(OperationContractAttribute), true).Length == 0)
// continue;
string methodName = method.Name;
ddlMethods.Items.Add(methodName);
}
Метод с комментариями кода. GetCustomAttributes (typeof (OperationContractAttribute), true). Длина не работает. Это не показывает никакой метод. Если я это закомментирую, то результатом будут все методы и переменные. Я хочу ограничить его только пользовательскими методами.