Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Добавленеи CustomBehavior в WCF / 2 сообщений из 2, страница 1 из 1
28.05.2009, 14:54
    #36013424
S_A_V_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавленеи CustomBehavior в WCF
Здравствуйте.

При реализации REST сервиса нужно передать массив строк как параметр метода. Нашел пример вот здесь:
http://stackoverflow.com/questions/354727/in-wcf-web-programming-model-how-can-one-write-a-operation-contract-with-an-arra


Сделал точно как в примере. Но при добавлении в web.config вот этой записи:
Код: plaintext
1.
2.
3.
<behavior name="MyServiceBehavior">
        <customWebHttp/>                  
</behavior>

выводится сообщение: "The element 'behavior' has invalid child element 'customWebHttp' ... ". При попытке запуска - configuration exception.

Подскажите пожалуйста в чём ошибка ? Почему не находит этот элемент ?

Привожу для наглядности весь раздел system.serviceModel из web.config :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
<system.serviceModel>       
<services>      
<service behaviorConfiguration="REST.WCF.WCFServiceBehavior" name="REST.WCF.WCFService">                
<endpoint address="" binding="webHttpBinding"  behaviorConfiguration="MyServiceBehavior" contract="REST.WCF.IWCFService">          
<identity>            
<dns value="localhost" />          
</identity>        
</endpoint>        
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />      
</service>    
</services>    
<behaviors>            
<endpointBehaviors>                
<behavior name="MyServiceBehavior">                    
<customWebHttp/>                  
</behavior>    
</endpointBehaviors>            
<serviceBehaviors>                
<behavior name="REST.WCF.WCFServiceBehavior">          
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->          
<serviceMetadata httpGetEnabled="true"/>          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->          
<serviceDebug includeExceptionDetailInFaults="false"/>        
</behavior>      
</serviceBehaviors>    
</behaviors>        
<extensions>      
<behaviorExtensions>        
<add name="customWebHttp" type="REST.WCF.CustomHttpBehaviorExtensionElement,REST.WCF"/> 
</behaviorExtensions>    
</extensions>  
</system.serviceModel>
...
Рейтинг: 0 / 0
29.05.2009, 14:23
    #36015811
S_A_V_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавленеи CustomBehavior в WCF
Проблема решена. Вот решение:

При добавлении behaviorExtensions тэг add должен выглядеть так:
Код: plaintext
1.
<add name="customWebHttp" type="REST.WCF.CustomHttpBehaviorExtensionElement, REST.WCF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>

Обязательно указывать полное имя сборки, и обязательно должны быть пробелы после запятых.
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Добавленеи CustomBehavior в WCF / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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