powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Контракты и интерфейсы
5 сообщений из 5, страница 1 из 1
Контракты и интерфейсы
    #37078687
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А есть ли смысл выносить поголовно все контракты из классов WCF-сервисов в интерфейсы?
...
Рейтинг: 0 / 0
Контракты и интерфейсы
    #37078712
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Речь о СервисКонтрактах или ДатаКонтрактах?
Если первое, то по правде не вижу смысла, кроме эстетического. Если второе, то в интерфейсах есть смысл в наследовании датаконтрактов.
...
Рейтинг: 0 / 0
Контракты и интерфейсы
    #37078725
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buredРечь о СервисКонтрактах или ДатаКонтрактах?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    [ServiceContract]
    interface ILogon
    {
        [OperationContract]
        string Logon();
    }

    class SvcLogon : ILogon
    {
        public string Logon()
        {
            return "Logon successful";
        }
    }

Речь идёт о нужности ILogon . Я бы описал всё в самом классе SvcLogon, если не требуется чего-то особенного. Например, наследования контрактов или их повторного использования в разных сервисах.

buredЕсли первое, то по правде не вижу смысла, кроме эстетического.Просто в книжках пишут, что ServiceContract обязательно (!) нужно вынести в интерфейс, иначе появятся проблемы. Вот и хочу для себя понять, какие возможны проблемы и какова вероятность их появления непосредстванно у меня.
...
Рейтинг: 0 / 0
Контракты и интерфейсы
    #37079270
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А. Не понял вопрос. СервисКонтракты не наследуются, как это можно сделать с ДатаКонтрактами, используя атрибут knowtype.
Хотя сами интерфейсы и можно выстроить в иерархию, но с т.з. WCF смысла в этом нет.

А интерфейсы с аттр. [ServiceContract] нужны для формирования метаданных и прокси на стороне клиента. Наверное можно обойтись и без них (как в asmx, честно говоря не пробовал), но имхо это будет бэдпрактикс.
...
Рейтинг: 0 / 0
Контракты и интерфейсы
    #37079362
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buredА. Не понял вопрос. СервисКонтракты не наследуются, как это можно сделать с ДатаКонтрактами, используя атрибут knowtype.
Хотя сами интерфейсы и можно выстроить в иерархию, но с т.з. WCF смысла в этом нет.Ну ладно, возможно я что-то напутал. Тут нужно подумать. :-)

buredА интерфейсы с аттр. [ServiceContract] нужны для формирования метаданных и прокси на стороне клиента. Наверное можно обойтись и без них (как в asmx, честно говоря не пробовал)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
    [ServiceContract]
    class SvcLogon    
    {
        [OperationContract]
        public string Logon()
        {
            return "Logon successful";
        }
    }

Можно обойтись и без интерфейса. И метаданные прекрасно формируются. И прокси на клиенте по ним генерится. Правда на клиенте интерфейсы будут называться SvcLogon и SvcLogonChannel, но это мелочи. :-)

buredно имхо это будет бэдпрактикс.Собственно, и хотелось бы выяснить, чем конкретно этот "бэдпрактикс" грозит.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Контракты и интерфейсы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]