пятница, июля 18, 2008

An error occurred creating the configuration section handler for system.serviceModel/behaviors

При очередной выкладке wcf-сервиса в рамках нашего проекта стало возникать исключение следующего плана:



Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: An error occurred creating the configuration section handler for system.serviceModel/behaviors: Extension element 'authorizationBehavior' cannot be added to this element. Verify that the extension is registered in the extension collection at system.serviceModel/extensions/behaviorExtensions.
Parameter name: element

Source Error:


Line 449:













Проблема в том, что наш Extension element -> 'authorizationBehavior' является объектом указанного через атрибут Type типа, а именно:








решением проблемы является указания full qualified name для сборки, т.е. требуется указывать номер версии, токен и культуру:









это конечно не есть хорошо (теперь при каждлой новой выкладке нужно уточнять номер версии), но другого вариант пока нет, причем такой баг был выялен только при переходе на новую development system, что удивительно потому что на старой системе такого не наблюдалось...

проблема описана здесь:
http://nayyeri.net/blog/configuration-error-for-custom-behavior-extensions-in-wcf/
https://connect.microsoft.com/wcf/feedback/ViewFeedback.aspx?FeedbackID=216431

2 комментария:

Sergey Rozovik комментирует...

Думаю, эту проблему можно решить также добавив в конфиг assemblyBinding - qualifyAssembly
и тогда везде можно будет использовать partial name.

duШes комментирует...

Спасибо, как то даже не задумывался об использовании такого ключа в конфиге, очень полезно, в проекте используется DevExpress и постоянно приходится вручную перебивать номера сборок при переходах на новые версии, будем пробовать