I defined a class in my project that overrides IDispatchMessageInspector
, and I added a related configuration, but it does not work.
System.Configuration.ConfigurationErrorsException: Type "InMotionGIT_NT.Address.Service, CustomHeaders, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null" registered for the extension "customHeaders" cannot be loaded. (C: \ Users \ jmachado \ Documents \ Visual Studio 2010 \ Projects \ InMotionGIT_NT \ Address Service \ InMotionGIT_NT.Address.Service \ bin \ Debug \ InMotionGIT_NT.Address.Service.dll.config line 67)
this is what i called my custom extension
<endpointBehaviors> <behavior name="jsonBehavior"> <enableWebScript/> <customHeaders/> </behavior> </endpointBehaviors>
this is how i defined my custom extension
<behaviorExtensions> <add name="customHeaders" type="InMotionGIT_NT.Address.Service, CustomHeaders, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/> </behaviorExtensions>
Here is the class that I defined that inside my project
[AttributeUsage(AttributeTargets.Class)] public class CustomHeaders : IDispatchMessageInspector { public object AfterReceiveRequest(ref Message request, ClientChannel channel, InstanceContext instanceContext) { if ((WebOperationContext.Current.IncomingRequest.Method == "GET")) { WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Origin", "*"); WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Methods", "POST"); WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Headers", "Content-Type, Accept"); } return null; } public void BeforeSendReply(ref Message reply, object correlationState) { } }
Am I missing something in the configuration?