Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, vl690001x, Вы писали:
AVK>>>Нет, имеется в виду, что ты подменил задачу решением. V>>Тогда я не понимаю)
AVK>Чего ты не понимаешь? Того что "вызвать метод в другом процессе" это не задача?
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, vl690001x, Вы писали:
AVK>>>Нет, имеется в виду, что ты подменил задачу решением. V>>Тогда я не понимаю)
AVK>Чего ты не понимаешь? Того что "вызвать метод в другом процессе" это не задача?
Мы в любом случае вызываем метод в другом процессе, даже при использовании WCF.
Если речь идет об именованных каналах, то в WCF они также есть, хотя в core.net можно использовать пока что только BasicHttpBinding.
Но как быть с типами? Если в серверном процессе методы возвращают сложные типы, то в клиентском они также должны быть, насколько я понимаю, или это вообще не сработает?
В любом случае нужна общая dll, а если у меня серверный процесс на .net 4.5 а клиентский на core.net, это уже как минимум все усложняет.
Кроме того, мне вообще не нравятся общие dll.
Связность слишком сильная, а я считаю что надо избегать связности.
WCF решает эту проблему при помощи прокси-классов, это удобно, достаточно просто обновить метаданные службы.
Прокси классы, правда, не имеют поведения, а только состояние (то есть при кодогенерации методы не создаются), но мне этого достаточно.
Получается, преимущество только в скорости работы, но она меня сейчас устраивает.
В чем я не прав?
Здравствуйте, vl690001x, Вы писали:
V>В чем я не прав?
Нового мне добавить нечего. Ты не прав в том что слишком узко смотришь на проблему и подменяешь проблему заранее заданным решением — работой в стиле RPC с меппингом на классы. В то время как даже в рамках WCF такое необязательно (см., к примеру, WebHttpBinding), да и сам WCF вовсе необязателен — пообщаться с сервером можно и посредством ASP.NET WebAPI (в Core оно слилось в экстазе с остальным), и даже просто написать обычный контроллер ASP.NET MVC с небольшими доработками для обработки ошибок, что с успехом используется на этом сайте.
Но у этого всего немного другая парадигма, которая полностью отсекается твоими вводными.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, Qulac, Вы писали: Q>Если проблему можно решить просто использовав повторно wcf сервис в web-сервере, то почему так не сделать?
А если понадобится канал связи с WCF-сервисом защитить, то проблем не возникнет?
А то вот здесь сказано:
Поскольку модель веб-программирования HTTP в WCF не поддерживает протоколы WS-*, единственным способом защитить веб-службы HTTP в WCF является обеспечение доступа к ней через HTTPS с использованием SSL-сертификата.Дополнительные сведения о о настройке SSL с помощью IIS 7.0 см. в разделе
Значит ли это, что взаимодействие по HTTPS без IIS-а организовать не получится?
Красота — наивысшая степень целесообразности. (c) И. Ефремов
Здравствуйте, stomsky, Вы писали:
S>Здравствуйте, Qulac, Вы писали: Q>>Если проблему можно решить просто использовав повторно wcf сервис в web-сервере, то почему так не сделать? S>А если понадобится канал связи с WCF-сервисом защитить, то проблем не возникнет? S>А то вот здесь сказано: S>
Поскольку модель веб-программирования HTTP в WCF не поддерживает протоколы WS-*, единственным способом защитить веб-службы HTTP в WCF является обеспечение доступа к ней через HTTPS с использованием SSL-сертификата.Дополнительные сведения о о настройке SSL с помощью IIS 7.0 см. в разделе
S>Значит ли это, что взаимодействие по HTTPS без IIS-а организовать не получится?
В смысле если хостим сервис как простой win-процесс? Вообще судя по сообщениям в сети у людей разные проблемы возникали в таком случае. У меня тоже были. Лучше хостить на iis, везде полно примеров и нет неожиданностей.
Здравствуйте, Qulac, Вы писали: Q>В смысле если хостим сервис как простой win-процесс? Вообще судя по сообщениям в сети у людей разные проблемы возникали в таком случае. У меня тоже были. Лучше хостить на iis, везде полно примеров и нет неожиданностей.
За IIS дополнительно денюжку платить надо... А хостить WCF с другим (бесплатным) WEB-сервером (типа "Апача") — это вообще бред
Получается, если без IIS, но с WCF и HTTPS, то получится такой сандвич:
HttpClient (web-браузер какой-нибудь) <-> Web-сервер (Apache, например) <-> WCF-севрвис ...
Красиво, но тяжеловато ...
Красота — наивысшая степень целесообразности. (c) И. Ефремов
Здравствуйте, stomsky, Вы писали:
S>За IIS дополнительно денюжку платить надо...
Не всегда. На arubacloud.com, к примеру, разницы в цене нет, кроме самого дешевого плана.
S> А хостить WCF с другим (бесплатным) WEB-сервером (типа "Апача") — это вообще бред S>Получается, если без IIS, но с WCF и HTTPS, то получится такой сандвич: S>HttpClient (web-браузер какой-нибудь) <-> Web-сервер (Apache, например) <-> WCF-севрвис ...
И в чем принципиальная разница с бутербродом, где вместо апача IIS?
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
S>>За IIS дополнительно денюжку платить надо... AVK>Не всегда. На arubacloud.com, к примеру, разницы в цене нет, кроме самого дешевого плана.
Я занимаюсь разработкой внутреннего софта. У нас тут выход в инет организован очень хитро через массу прокладок и ДМЗ.
Так что я говорю о возможности развернуть свой web-сервер в интранете.
AVK>И в чем принципиальная разница с бутербродом, где вместо апача IIS?
Развертывание Апача, на сколько я знаю, не требует лицензий, т.е. бесплатно. Разве нет?
Хотя при наличии IIS отпадает потребность в self-hosting WCF (если, конечно, необходимость выделить WCF в отдельный сервис не озвучено явно).
Красота — наивысшая степень целесообразности. (c) И. Ефремов
Здравствуйте, stomsky, Вы писали:
AVK>>И в чем принципиальная разница с бутербродом, где вместо апача IIS? S>Развертывание Апача, на сколько я знаю, не требует лицензий, т.е. бесплатно. Разве нет?
IIS тоже. И я так и не понял при чем тут бутерброд.
S>Хотя при наличии IIS отпадает потребность в self-hosting WCF
При наличии апача вроде как тоже. А если у тебя self-hosting, то зачем тебе тогда апач? Поставь какой нибудь nginx в качестве reverse proxy, или вообще пробрось порты напрямую, раз уж у тебя интранет.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
S>>Развертывание Апача, на сколько я знаю, не требует лицензий, т.е. бесплатно. Разве нет? AVK>IIS тоже
Т.е. если у нас есть лицензионная серверная Windows, то IIS там можно стартовать без дополнительных лицензий?
Я вопросами лицензирования не интересовался никогда, поэтому прошу прощения за возможно дурацкий вопрос...
AVK>И я так и не понял при чем тут бутерброд.
Ну как, если у нас IIS, то можно организовать хостинг WCF-сервиса непосредственно в IIS.
Можно, конечно, и self-hosting для WCF сделать, но это если такое требование будет прописано явно (безопасность, масштабируемость или еще что).
А если мы возьмем другой web-сервер (апач или предложенный ниже nginx), то такой бутерброд придется строить по-любому.
S>>Хотя при наличии IIS отпадает потребность в self-hosting WCF AVK>При наличии апача вроде как тоже
Да ладно... апача может хостинговать WCF-сервис???
А если апач под чем-нибудь из семейства UNIX-овых запущен будет?
AVK> Поставь какой нибудь nginx в качестве reverse proxy
Ну конкретно апача я взял просто в качестве примера "другого" web-сервера. А так-то можно и любой другой "по вкусу" указать...
Красота — наивысшая степень целесообразности. (c) И. Ефремов
Здравствуйте, stomsky, Вы писали:
AVK>>IIS тоже S>Т.е. если у нас есть лицензионная серверная Windows, то IIS там можно стартовать без дополнительных лицензий?
Верно.
AVK>>И я так и не понял при чем тут бутерброд. S>Ну как, если у нас IIS, то можно организовать хостинг WCF-сервиса непосредственно в IIS.
Так и в апаче можно, точнее в модуле asp.net.
S>>>Хотя при наличии IIS отпадает потребность в self-hosting WCF AVK>>При наличии апача вроде как тоже S>Да ладно... апача может хостинговать WCF-сервис???
Сервис хостит стек asp.net, позднее нужная часть выделена в отдельную инфраструктуру — OWIN. И моно, и кор, насколько мне известно, OWIN поддерживают в полном объеме.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, stomsky, Вы писали: AVK>>И в чем принципиальная разница с бутербродом, где вместо апача IIS? S>Развертывание Апача, на сколько я знаю, не требует лицензий, т.е. бесплатно. Разве нет? S>Хотя при наличии IIS отпадает потребность в self-hosting WCF (если, конечно, необходимость выделить WCF в отдельный сервис не озвучено явно).
Здравствуйте, AndrewVK, Вы писали:
S>>Ну как, если у нас IIS, то можно организовать хостинг WCF-сервиса непосредственно в IIS. AVK>Так и в апаче можно, точнее в модуле asp.net.
Вот об этом я не знал. Спасибо!
Красота — наивысшая степень целесообразности. (c) И. Ефремов