protected override Task <T> FromWireFormat <T>(XElement wireFormat)
        {
            XmlConverter <T> converter;

            using (ISimpleContainerScope container = SimpleWeb.Configuration.Container.BeginScope())
            {
                converter = container.Get <XmlConverter <T> >();
            }
            return(TaskHelper.Completed(converter.FromXml(wireFormat)));
        }
        protected override XElement ToWireFormat <T>(T item)
        {
            XmlConverter <T> converter;

            if (_outputConverter == null)
            {
                using (ISimpleContainerScope container = SimpleWeb.Configuration.Container.BeginScope())
                {
                    _outputConverter = converter = container.Get <XmlConverter <T> >();
                }
            }
            else
            {
                converter = (XmlConverter <T>)_outputConverter;
            }
            return(converter.ToXml(item));
        }
        protected override XElement ToWireFormat(object item)
        {
            IXmlConverter converter;

            if (_outputConverter == null)
            {
                using (ISimpleContainerScope container = SimpleWeb.Configuration.Container.BeginScope())
                {
                    Type type = typeof(XmlConverter <>).MakeGenericType(item.GetType());
                    _outputConverter = converter = (IXmlConverter)container.Get(type);
                }
            }
            else
            {
                converter = (IXmlConverter)_outputConverter;
            }
            return(converter.ToXml(item));
        }
Example #4
0
 public static IScopedHandler Create(object handler, ISimpleContainerScope scope)
 {
     return new ScopedHandler(handler, scope);
 }
Example #5
0
 public ScopedHandler(object handler, ISimpleContainerScope scope)
 {
     Handler = handler;
     _scope = scope;
 }
Example #6
0
 /// <summary>
 /// Creates the specified handler.
 /// </summary>
 /// <param name="handler">The handler.</param>
 /// <param name="scope">The scope.</param>
 /// <returns>An <see cref="IScopedHandler"/> wrapped around a handler object.</returns>
 public static IScopedHandler Create(object handler, ISimpleContainerScope scope)
 {
     return(new ScopedHandler(handler, scope));
 }
Example #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ScopedHandler" /> class.
 /// </summary>
 /// <param name="handler">The handler.</param>
 /// <param name="scope">The scope.</param>
 public ScopedHandler(object handler, ISimpleContainerScope scope)
 {
     Handler = handler;
     _scope  = scope;
 }