.net - Send custom header for all WCF REST OPTION calls -
i'm trying implement standalone wcf rest service. 1 problem have have send custom objects, webget can't handle. i'm trying send them post instead of get.
now of course can't make jsonp request post data. work around this, have send allow-origin header calls made "options" http-method. there
- a way apply header each option call?
- a way intercept , allow option-calls without setting
[webrequest(method = "*")](instead of[webrequest(method = "post")] - a way add headers , return request without calling wcf method?
or alternatively, how can override parameter-serialization method of webget?
i tried solve custom endpoints , messagedispatchers, doesn't seem work.
i figured out how overwrite parameter serialization of webget. this question pointed me in right direction.
i had overwrite httpbehavior , add own querystringconverter, uses newtonsoft json serializer.
public class customquerystringconverter :system.servicemodel.dispatcher.querystringconverter { public override bool canconvert(type type) { return true; } public override object convertstringtovalue(string parameter, type parametertype) { if (base.canconvert(parametertype)) { return base.convertstringtovalue(parameter, parametertype); } else { object param = newtonsoft.json.jsonconvert.deserializeobject(parameter, parametertype); return param; } } public override string convertvaluetostring(object parameter, type parametertype) { if (base.canconvert(parametertype)) { return base.convertvaluetostring(parameter, parametertype); } else { return newtonsoft.json.jsonconvert.serializeobject(parameter); } } } this removes need sending options headers , post data.
Comments
Post a Comment