Что на самом деле делает конечная точка IMetadataExchange? - PullRequest
0 голосов
/ 06 июля 2010

Я работаю над веб-сервисом, который использует модель безопасности ASP.NET (то есть с AspNetCompatibilityRequirements, для которого установлено значение позволено).Как и многие другие, я получил сообщение о том, что требуется анонимный доступ, потому что mexHttpBinding требует его, и единственный способ обойти это - удалить конечную точку mex из каждой службы, как описано здесь:

WCF- Аутентификация Windows - Для настроек безопасности требуется аноним

. Я подумал, что, удалив конечную точку mex, я больше не смогу сгенерировать WSDL или добавить ссылку на службу из Visual Studio, но, к моему удивлению, все по-прежнему работает.Я быстро погуглил «привязку к mex», но большинство веб-сайтов просто говорят, что это для «обмена метаданными», не вдаваясь в подробности того, что он на самом деле делает.

Может кто-нибудь сказать мне, каков побочный эффект удаления mexсвязывание?

Ответы [ 2 ]

0 голосов
/ 06 июля 2010

Без обмена метаданными вы не сможете использовать svcutil.exe для автоматической генерации прокси-классов.

0 голосов
/ 06 июля 2010

Если ваша служба WCF не предоставляет метаданные службы, вы не можете добавить к ней ссылку на службу, ни из Visual Studio (Добавить ссылку на службу), ни другой клиент не сможет запросить вашу службу для ее методов и данных, которые онаneeds.

Удаление метаданных Exchange (mex) в основном делает службу "невидимой", почти - потенциальный вызывающий должен найти другой способ (например, получить файл WSDL или получить сборку библиотеки классов).с клиентом, которого он может использовать) о том, что может делать служба и как.

Это может быть приемлемо для среды с высоким уровнем риска, но в большинстве случаев возможность опроса сервиса и его описания черезметаданные - это то, что вы хотите включить.Это действительно одно из главных преимуществ сервиса на основе SOAP - благодаря метаданным он может описывать себя, свои операции, все необходимые структуры данных.Эта функция используется для упрощения вызова этой услуги - вы просто указываете на конечную точку mex и можете узнать все, что вам нужно знать об этой услуге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...