Соглашаясь с Давидом, который просто «затемняя» ваш сервис меньше, чем половина решения, вы, конечно, можете отключить
- метаданных услуги
- HTTP наличие файла WSDL
Сделайте это, убедитесь, что ваш тег <service>
не ссылается на <serviceBehavior>
, который содержит тег <serviceMetadata>
.
Так что будет разоблачить сервисные метаданные (включая WSDL по протоколу HTTP):
<behaviors>
<serviceBehaviors>
<behavior name="default">
<serviceMetadata httpGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="True" />
</behavior>
</serviceBehaviors>
<behaviors>
<services>
<service name="IYourService" behaviorConfiguration="default">
...
</service>
</services>
в то время как это будет не подвергать метаданные службы (наблюдать удаление <serviceMetadata>
тега):
<behaviors>
<serviceBehaviors>
<behavior name="nometadata">
<serviceDebug includeExceptionDetailInFaults="True" />
</behavior>
</serviceBehaviors>
<behaviors>
<services>
<service name="IYourService" behaviorConfiguration="nometadata">
...
</service>
</services>
При удалении любых метаданных службы вы не сможете сделать Add Service Reference
из Visual Studio (или его эквивалента для y других систем разработки) - услуга просто не сообщит вам, что доступно - вы должны знать каким-то другим способом.
да, пожалуйста. Отключите метаданные. – Cheeso 2010-12-05 21:58:17
`вам нужно знать какой-то другой способ, что еще можно узнать? – 2010-12-06 00:15:39