2016-12-07 3 views
0

почему-то меня спрашивают, можно ли переопределить метод/help службы для возврата пользовательских данных. В настоящее время я призывающую URL, как этот одинМетод справки перегрузки в службе WCF

Http: // {MYDOMAIN} /CRM/Customers.svc/json/help

который возвращает все доступные методы

see here

Я пробовал что-то подобное в моем сервисе. Контракт, но я не могу получить доступ к моему методу, возможно ли это?

[WebInvoke(Method = "GET", UriTemplate = "/help", RequestFormat = WebMessageFormat.Json, 
          ResponseFormat = WebMessageFormat.Json)] 
void GetInformations(); 

Благодаря

+0

Если подпись быть публичной, а не частное? –

+0

Интерфейс для ServiceContract является открытым, поэтому нет никаких проблем видимости, я думаю –

ответ

0

Благодаря @Balaji я копаю немного больше и смог заставить его работать несколько иначе. я применил пользовательский behaviorConfiguration к моей службе и в ней я отключил помощь, смотрите ниже

<system.serviceModel> 
    <services> 
     <service behaviorConfiguration="ServiceBehavior" name="{myDomain}.CRM.Customers"> 
      <endpoint address="json" binding="webHttpBinding" behaviorConfiguration="JsonBehavior" bindingConfiguration="" contract="{contract}"/> 
     </service> 
    </services> 
    <behaviors> 
     <endpointBehaviors> 
      <behavior name="JsonBehavior"> 
       <webHttp helpEnabled="false"/> 
      </behavior> 
     </endpointBehaviors> 
    </behaviors> 
</system.serviceModel> 
+0

Я использовал одну конфигурацию на своей странице. для вашего требования обратитесь к документу https://msdn.microsoft.com/en-us/library/ee230442(v=vs.110).aspx так же, как и вы. –

+0

Еще раз спасибо за вашу помощь! –

1

По умолчанию в справочной странице web.config включена в веб-HTTP конечной точки. Чтобы переопределить его, вы можете установить значение «ложь», тогда будет активирован ваш метод переопределения.

<webHttpEndpoint> 
     <!-- TIP: Enable automatic XML/JSON support --> 
     <!-- TIP: Enable service help page --> 
     <standardEndpoint automaticFormatSelectionEnabled="true" helpEnabled="false"/> 
     </webHttpEndpoint> 
+0

Ваше решение, кажется, что мне нужно, я добавил это в web.config в узле system.serviceModel , но это не меняет страницу справки от появления, я упускаю что-то? Бонусная точка: у меня есть службы mutliples, настроенные в файле web.config, можно ли применить эту модификацию только к сервису, который мне нужен? –