c# - Doing some actions (setting language) before controller initializes in Web API -


i trying set language controller in web api (doing internationalization globalization).

i writing attribute called setlanguage , decorate web-api controller it

something like,

[setlanguage] public servicerequestcontroller : apicontroller 

but problem this:

public class setacceptlanguageheader : attribute, icontrollerconfiguration     {         public void initialize(httpcontrollersettings controllersettings, httpcontrollerdescriptor controllerdescriptor)         {             if (controllersettings.request.headers.acceptlanguage != null && controllercontext.request.headers.acceptlanguage.count > 0)             {                 var culture = new cultureinfo(controllercontext.request.headers.acceptlanguage.first().value);                 thread.currentthread.currentculture = culture;                 thread.currentthread.currentuiculture = culture;             }         }     } 

but, not able because cannot access request controllersettings.

(though know idea of using basecontroller , overriding initialize method achieve same, trying use [setlanguage] attribute`)

any ideas how ?

you may try using action filters like

public class setlanguageattribute : actionfilterattribute {     public override void onactionexecuting(httpactioncontext actioncontext)     {         //use actioncontext.request access request     } } 

this can used decorate action method [setlanguage] attribute can possibly set culture needed.


Comments

Popular posts from this blog

database - VFP Grid + SQL server 2008 - grid not showing correctly -

jquery - Set jPicker field to empty value -

.htaccess - htaccess convert request to clean url and add slash at the end of the url -