1: /// <summary>
2: /// API Controller base class
3: /// </summary>
4: [ContentType(Type = "application/json")]
5: public class APIControllerBase : System.Web.Mvc.Controller
6: {
7: /// <summary>
8: /// Encoding used for the controller (defaults to UTF8)
9: /// </summary>
10: public virtual Encoding Encoding { get; set; }
11:
12: /// <summary>
13: /// Initializes the controller
14: /// </summary>
15: /// <param name="requestContext">Request context</param>
16: protected override void Initialize(System.Web.Routing.RequestContext requestContext)
17: {
18: requestContext.HttpContext.HTTPCompress();
19: requestContext.HttpContext.Response.ContentEncoding = Encoding.NullCheck(new UTF8Encoding());
20: base.Initialize(requestContext);
21: }
22:
23: /// <summary>
24: /// Returns Json encoded object
25: /// </summary>
26: /// <param name="Object">Object to encode</param>
27: /// <returns>The object as a Json.Net result</returns>
28: protected virtual JsonNetResult JsonNet(object Object)
29: {
30: JsonNetResult Result = null;
31: JsonSerializerSettings Settings = new JsonSerializerSettings();
32: IsoDateTimeConverter Converter = new IsoDateTimeConverter();
33: Settings.Converters.Add(Converter);
34: Result = new JsonNetResult(Object, Settings, Formatting.None);
35: return Result;
36: }
37:
38: /// <summary>
39: /// On Action Executed
40: /// </summary>
41: /// <param name="filterContext">filter context</param>
42: protected override void OnActionExecuted(System.Web.Mvc.ActionExecutedContext filterContext)
43: {
44: base.OnActionExecuted(filterContext);
45: }
46: }