На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> WCF-proxy на .NET2
    Добрый день, господа-специалисты!

    Допустим у меня есть 2 библиотеки: коммуникации + логика
    Логика работает с некоторым интерфейсом коммуникационного объекта(определён в библиотеке логики), например таким:

    ExpandedWrap disabled
      public interface IServiceController
          {
              void Login(string _login, string _pass);
              void Logout();
          }


    Одна из реализаций коммуникационной библиотеки - классы для работы с WCF-сервисом. Соответственно, там создаётся proxy-объект и передаётся в логику, где с ним идёт дальнейшая работа. Для этого в библиотеке коммуникации есть интерфейс сл. вида:

    ExpandedWrap disabled
      [ServiceContract]
          public interface IController : IServiceController
          {
              [OperationContract]
              new void Login(string _login, string _pass);
              [OperationContract]
              new void Logout();
          }


    Всё прекрасно бы работало, но библиотека логики написана на .NET 2.0 и значит, что первый интерфес не может быть размечен для WCF. И логика работает именно с первым интерфейсом. Всвязи с чем выявляется следующая проблема:

    ExpandedWrap disabled
      IController controller = CreateProxy<IController>();
      controller.Login("123", "456"); //РАБОТАЕТ
       
      IServiceController controller2 = controller;
      controller2.Login("123", "456"); //НЕ РАБОТАЕТ


    Поэтому при передаче объекта в логику и попытке вызвать там у него какой-либо метод, поднимается исключение

    Method Login is not supported on this proxy, this can happen if the method is not marked with OperationContractAttribute or if the interface type is not marked with ServiceContractAttribute.


    Вопрос: ПАМАГИИИИИИИИТЕЕЕЕЕ!!!! :D
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0221 ]   [ 16 queries used ]   [ Generated: 3.05.24, 19:00 GMT ]