Я использую ASP.NET MVC 2 для реализации веб-службы, и у меня есть специальный JsonResult
класс:
public abstract class JsonResult : ActionResult
{
public static ISerializer Serializer { get; set; }
public override void ExecuteResult(ControllerContext context)
{
var json = Serializer.Serialize(this);
context.HttpContext.Response.Write(json);
}
}
JsonResult
- абстрактный базовый класс для всех результатов, которые должны бытьсериализовано в данные JSON.Для сериализации используется ISerializer
.
Я использую Ninject в качестве контейнера IoC.Однако я не совсем уверен, как мне следует вводить зависимость ISerializer
.Первоначально я делал это:
var kernel = new StandardKernel().Bind<ISerializer>().To<JsonNetSerializer>();
JsonResult.Serializer = kernel.Get<ISerializer>();
Но что-то в этом не совсем верно.Итак, как мне правильно ввести свойство Serializer
?Я хочу ввести его только один раз при запуске приложения.