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

    пытаюсь делать так:

    1. создаю интерфейс
    ExpandedWrap disabled
      interface IMyService
      {
          // какие-то методы
      }


    2. имплементация номер 1:

    ExpandedWrap disabled
      public class MyLocalService : IMyService
      {
          // имплементирую методы
      }


    3. имплементация номер 2:

    ExpandedWrap disabled
      [WebService(Namespace = "http://tempuri.org/")]
      [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
      public class MyWebService : System.Web.Services.WebService, IMyService
      {
          // тоже имплементирую методы, ясное дело, с аттрибутами [WebMethod]
      }



    все это ради единственной цели - чтобы в Виндовз приложении можно было написать так:

    ExpandedWrap disabled
      IMyService service;
       
      ...
       
       
      service = (someCondition) ? MyLocalService() : MyWebService();
       
      ...


    то есть, чтоб клиент мог работать или через локальный вариант сервиса, и через веб-сервис.

    проблема заключается в том, что несмотря на то, что мой веб-сервис имплементирует интерфейс IMyService, при создании экземпляра выскакивает ИнвалидКастЕкспшн.


    в связи с этим вопрос: можно ли вообще так делать? и если да, то что же это такое и как с этим бороться? :blink:
      Цитата CVisitor @
      как с этим бороться?

      - использовать 3.0 если есть возможность и WCF.
        нет такой возможности...
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0311 ]   [ 15 queries used ]   [ Generated: 18.07.25, 02:02 GMT ]