diff --git a/lib/autofac/Autofac.Configuration.dll b/lib/autofac/Autofac.Configuration.dll
index 30e354b6c..230786aa2 100644
Binary files a/lib/autofac/Autofac.Configuration.dll and b/lib/autofac/Autofac.Configuration.dll differ
diff --git a/lib/autofac/Autofac.Configuration.pdb b/lib/autofac/Autofac.Configuration.pdb
deleted file mode 100644
index 5823f5e34..000000000
Binary files a/lib/autofac/Autofac.Configuration.pdb and /dev/null differ
diff --git a/lib/autofac/Autofac.Configuration.xml b/lib/autofac/Autofac.Configuration.xml
index a77bf8993..1fed96486 100644
--- a/lib/autofac/Autofac.Configuration.xml
+++ b/lib/autofac/Autofac.Configuration.xml
@@ -4,6 +4,33 @@
Autofac.Configuration
+
+
+ Configures properties on other modules using settings from the appSettings section of
+ the configuration file. These can then be provided to component constructors as parameters
+ during registrations within the module.
+
+
+ The convention for the appSettings key is "Module.PropertyName" (e.g. Email.Pop3Host).
+ Modules should be named with a "Module" suffix (e.g. EmailModule).
+
+
+
+
+ Initializes a new instance of the class.
+
+ The modules whose properties should be configured
+ using settings from the appSettings section of the configuration file.
+
+
+
+ Override to add registrations to the container.
+
+ The builder through which components can be registered.
+
+ Note that the ContainerBuilder parameter is unique to this module.
+
+
Type converter used for converting assembly name strings to assembly and back.
@@ -107,6 +134,12 @@
never (default,) all, unset.
+
+
+ Sets up auto activation for the component instances.
+
+ no(default,) yes.
+
Gets the services exposed by the component.
@@ -429,6 +462,37 @@
recognized grammar.
+
+
+ Sets the auto activation mode for the component.
+
+
+ The component registration on which auto activation mode is being set.
+
+
+ The configuration value associated with auto
+ activate for this component registration.
+
+
+
+ By default, this implementation understands , empty,
+ or values (false, 0, no)
+ to mean "no property injection should occur" and
+ values (true, 1, yes) to mean "auto activation
+ should occur."
+
+
+ You may override this method to extend the available grammar for auto activation settings.
+
+
+
+ Thrown if is .
+
+
+ Thrown if the value for is not part of the
+ recognized grammar.
+
+
Sets the ownership model for the component.
@@ -616,11 +680,21 @@
Looks up a localized string similar to Unable to convert object of type '{0}' to type '{1}'..
+
+
+ Looks up a localized string similar to The type '{0}' specified in the TypeConverterAttribute is not a TypeConverter..
+
+
Looks up a localized string similar to The type '{0}' could not be found. It may require assembly qualification, e.g. "MyType, MyAssembly"..
+
+
+ Looks up a localized string similar to The value '{0}' is not valid for the auto-activate attribute. Valid values are 'yes' and 'no'..
+
+
Looks up a localized string similar to The value '{0}' is not valid for the inject-properties attribute. Valid values are 'yes' and 'no'..
@@ -663,7 +737,7 @@
- Helps convert the configuration element into an actuall generic list
+ Helps convert the configuration element into an actual generic list
@@ -1114,7 +1188,7 @@
Some handy type conversion routines.
-
+
Does its best to convert whatever the value is into the destination
type. Null in yields null out for value types and the default(T)
@@ -1122,6 +1196,7 @@
The value.
Type of the destination.
+ Reflected property or member info for the destination, if available, for retrieving custom type converter information.
An object of the destination type.
diff --git a/lib/autofac/Autofac.Integration.Web.dll b/lib/autofac/Autofac.Integration.Web.dll
deleted file mode 100644
index 7110eef2e..000000000
Binary files a/lib/autofac/Autofac.Integration.Web.dll and /dev/null differ
diff --git a/lib/autofac/Autofac.Integration.Web.pdb b/lib/autofac/Autofac.Integration.Web.pdb
deleted file mode 100644
index 25c9064f3..000000000
Binary files a/lib/autofac/Autofac.Integration.Web.pdb and /dev/null differ
diff --git a/lib/autofac/Autofac.Integration.Web.xml b/lib/autofac/Autofac.Integration.Web.xml
deleted file mode 100644
index 97df3ce9c..000000000
--- a/lib/autofac/Autofac.Integration.Web.xml
+++ /dev/null
@@ -1,512 +0,0 @@
-
-
-
- Autofac.Integration.Web
-
-
-
-
- Injects dependencies into request handlers and pages that have been
- decorated with the [InjectProperties] or [InjectUnsetProperties]
- attributes.
-
-
-
-
- Assists with the construction of page injectors.
-
-
-
-
- Provides dependency injection for a request handler.
-
-
-
-
- Inject dependencies in the required fashion.
-
- The context.
- The target.
-
-
-
- Inject dependencies in the required fashion.
-
- The context.
- The target.
-
-
-
- Override to return a closure that injects properties into a target.
-
- The context.
- The injector.
-
-
-
- Does the injection using a supplied injection function.
-
- The injector.
- The target.
-
-
-
- Override to return a closure that injects properties into a target.
-
- The context.
- The injector.
-
-
-
- Injects dependencies into request handlers and pages that have been
- decorated with the [InjectProperties] or [InjectUnsetProperties]
- attributes.
-
-
-
-
- Base for classes that inject dependencies into HTTP Handlers.
-
-
-
-
- Disposes of the resources (other than memory) used by the module that implements .
-
-
-
-
- Initializes a module and prepares it to handle requests.
-
- An that provides access to the methods, properties, and events common to all application objects within an ASP.NET application
-
-
-
- Called before the request handler is executed so that dependencies
- can be injected.
-
- The sender.
- The instance containing the event data.
-
-
-
- Internal for testability outside of a web application.
-
-
- The injection behavior.
-
-
-
- Override to customize injection behavior based on HTTP Handler type.
-
- Type of the handler.
- The injection behavior.
-
-
-
- A behavior that does not inject dependencies.
-
-
-
-
- A behavior that injects resolvable dependencies.
-
-
-
-
- A behavior that injects unset, resolvable dependencies.
-
-
-
-
- Override to customise injection behavior based on HTTP Handler type.
-
- Type of the handler.
- The injection behavior.
-
-
-
- HTTP Module that disposes of Autofac-created components when processing for
- a request completes.
-
-
-
-
- Disposes of the resources (other than memory) used by the module that implements .
-
-
-
-
- Initializes a module and prepares it to handle requests.
-
- An that provides access to the methods, properties, and events common to all application objects within an ASP.NET application
-
-
-
- Dispose of the per-request container.
-
-
-
-
-
-
- A strongly-typed resource class, for looking up localized strings, etc.
-
-
-
-
- Returns the cached ResourceManager instance used by this class.
-
-
-
-
- Overrides the current thread's CurrentUICulture property for all
- resource lookups using this strongly typed resource class.
-
-
-
-
- Looks up a localized string similar to This module requires that the HttpApplication (Global Application Class) implements IContainerProviderAccessor..
-
-
-
-
- Looks up a localized string similar to IContainerProviderAccessor.ContainerProvider returned null, which is invalid. If the container provider belongs to the HttpApplication subclass, ensure that it is a static variable..
-
-
-
-
- Provides application-wide and per-request containers.
-
-
-
-
- Provides global and per-request Autofac containers in an
- ASP.NET application.
-
-
-
-
- Dispose of the current request's container, if it has been
- instantiated.
-
-
-
-
- The global, application-wide container.
-
-
-
-
- The lifetime used to manage components for processing the
- current request.
-
-
-
-
- Initializes a new instance of the class.
-
- The application container.
-
-
-
- Initializes a new instance of the class.
-
- The application container.
- An action that will be executed when building
- the per-request lifetime. The components visible within the request can be
- customised here.
-
-
-
- Dispose of the current request's container, if it has been
- instantiated.
-
-
-
-
- The global, application-wide container.
-
-
-
-
-
- The container used to manage components for processing the
- current request.
-
-
-
-
-
- Provides an implementation of which uses the configured
- to route calls to the current request container.
-
-
-
-
- Initializes a new instance of .
-
- The to use to retrieve the current request container.
-
-
-
- Begin a new nested scope. Component instances created via the new scope
- will be disposed along with it.
-
- A new lifetime scope.
-
-
-
- Begin a new nested scope. Component instances created via the new scope
- will be disposed along with it.
-
- The tag applied to the .
- A new lifetime scope.
-
-
-
- Begin a new nested scope, with additional components available to it.
- Component instances created via the new scope
- will be disposed along with it.
-
-
- The components registered in the sub-scope will be treated as though they were
- registered in the root scope, i.e., SingleInstance() components will live as long
- as the root scope.
-
- Action on a
- that adds component registations visible only in the new scope.
- A new lifetime scope.
-
-
-
- Begin a new nested scope, with additional components available to it.
- Component instances created via the new scope
- will be disposed along with it.
-
-
- The components registered in the sub-scope will be treated as though they were
- registered in the root scope, i.e., SingleInstance() components will live as long
- as the root scope.
-
- The tag applied to the .
- Action on a
- that adds component registations visible only in the new scope.
- A new lifetime scope.
-
-
-
- Resolve an instance of the provided registration within the context.
-
- The registration.
- Parameters for the instance.
-
- The component instance.
-
-
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Associates services with the components that provide them.
-
-
-
-
- The disposer associated with this .
- Component instances can be associated with it manually if required.
-
- Typical usage does not require interaction with this member- it
- is used when extending the container.
-
-
-
- The tag applied to the .
-
- Tags allow a level in the lifetime hierarchy to be identified.
- In most applications, tags are not necessary.
-
-
-
-
- Fired when a new scope based on the current scope is beginning.
-
-
-
-
- Fired when this scope is ending.
-
-
-
-
- Fired when a resolve operation is beginning in this scope.
-
-
-
-
- Base class for dependency injection attributes.
-
-
-
-
- A strongly-typed resource class, for looking up localized strings, etc.
-
-
-
-
- Returns the cached ResourceManager instance used by this class.
-
-
-
-
- Overrides the current thread's CurrentUICulture property for all
- resource lookups using this strongly typed resource class.
-
-
-
-
- Looks up a localized string similar to This module requires that the HttpApplication (Global Application Class) implements IContainerProviderAccessor..
-
-
-
-
- Looks up a localized string similar to IContainerProviderAccessor.ContainerProvider returned null, which is invalid. If the container provider belongs to the HttpApplication subclass, ensure that it is a static variable..
-
-
-
-
- Implemented on a type (i.e. HttpApplication) that maintains a container provider
- for injecting dependencies into web requests.
-
-
-
-
- Gets the container provider.
-
- The container provider.
-
-
-
- Indicates that property injection should be performed on the instance when it is instantiated.
-
-
-
-
- Indicates that property injection should be performed for null-valued
- properties on the instance when it is instantiated.
-
-
-
-
- Does not inject properties.
-
-
-
-
- Inject dependencies in the required fashion.
-
- The context.
- The target.
-
-
-
- Injects any resolvable properties.
-
-
-
-
- Override to return a closure that injects properties into a target.
-
- The context.
- The injector.
-
-
-
- Dependency injection module that will always inject any resolvable
- properties.
-
-
-
-
- Override to customise injection behavior based on HTTP Handler type.
-
- Type of the handler.
- The injection behavior.
-
-
-
- Extends registration syntax for common web scenarios.
-
-
-
-
- Share one instance of the component within the context of a single
- HTTP request.
-
- Registration limit type.
- Registration style.
- Activator data type.
- The registration to configure.
- A registration builder allowing further configuration of the component.
-
-
-
- Cache instances in the web session. This implies external ownership (disposal is not
- available.) All dependencies must also have external ownership.
-
-
- It is strongly recommended that components cached per-session do not take dependencies on
- other services.
-
- Registration limit type.
- Registration style.
- Activator data type.
- The registration to configure.
- A registration builder allowing further configuration of the component.
-
-
-
- Injects resolvable properties that do not already have a value.
-
-
-
-
- Override to return a closure that injects properties into a target.
-
- The context.
- The injector.
-
-
-
- Dependency injection module that will always inject any resolvable
- properties.
-
-
-
-
- Override to customise injection behavior based on HTTP Handler type.
-
- Type of the handler.
- The injection behavior.
-
-
-
- Constants used to tag liftime scopes within standard Autofac web applications.
-
-
-
-
- Application lifetime
-
-
-
-
- HTTP Request lifetime
-
-
-
-
diff --git a/lib/autofac/Autofac.XML b/lib/autofac/Autofac.XML
index 0fee1b6f2..bf18e21a4 100644
--- a/lib/autofac/Autofac.XML
+++ b/lib/autofac/Autofac.XML
@@ -158,6 +158,68 @@
Looks up a localized string similar to {0} ---> {1} (See inner exception for details.).
+
+
+ Well-known tags used in setting up matching lifetime scopes.
+
+
+
+
+ Tag used in setting up per-request lifetime scope registrations
+ (e.g., per-HTTP-request or per-API-request).
+
+
+
+
+ Interface providing fluent syntax for chaining module registrations.
+
+
+
+
+ Add a module to the container.
+
+ The module to add.
+
+ The to allow
+ additional chained module registrations.
+
+
+
+
+ Basic implementation of the
+ interface allowing registration of modules into a
+ in a fluent format.
+
+
+
+
+ The into which registrations will be made.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ The into which registrations will be made.
+
+
+ Thrown if is .
+
+
+
+
+ Add a module to the container.
+
+ The module to add.
+
+ The to allow
+ additional chained module registrations.
+
+
+ Thrown if is .
+
+
Support the System.Lazy<T, TMetadata>
@@ -311,6 +373,156 @@
Type to search for constructors.
Suitable constructors.
+
+
+ Extension methods for configuring the .
+
+
+
+
+ Fluent method for setting the registration configuration on .
+
+ The registration source to configure.
+ A configuration action that will run on any registration provided by the source.
+
+ The with the registration configuration set.
+
+
+
+
+ Extension methods for registering instances with a container.
+
+
+
+
+ Registers modules found in an assembly.
+
+ The builder to register the modules with.
+ The assemblies from which to register modules.
+
+ Thrown if is .
+
+
+ The to allow
+ additional chained module registrations.
+
+
+
+
+ Registers modules found in an assembly.
+
+ The module registrar that will make the registrations into the container.
+ The assemblies from which to register modules.
+
+ Thrown if is .
+
+
+ The to allow
+ additional chained module registrations.
+
+
+
+
+ Registers modules found in an assembly.
+
+ The builder to register the modules with.
+ The assemblies from which to register modules.
+ The type of the module to add.
+
+ Thrown if is .
+
+
+ The to allow
+ additional chained module registrations.
+
+
+
+
+ Registers modules found in an assembly.
+
+ The module registrar that will make the registrations into the container.
+ The assemblies from which to register modules.
+ The type of the module to add.
+
+ Thrown if is .
+
+
+ The to allow
+ additional chained module registrations.
+
+
+
+
+ Registers modules found in an assembly.
+
+ The builder to register the modules with.
+ The of the module to add.
+ The assemblies from which to register modules.
+
+ Thrown if or is .
+
+
+ The to allow
+ additional chained module registrations.
+
+
+
+
+ Registers modules found in an assembly.
+
+ The module registrar that will make the registrations into the container.
+ The of the module to add.
+ The assemblies from which to register modules.
+
+ Thrown if or is .
+
+
+ The to allow
+ additional chained module registrations.
+
+
+
+
+ Add a module to the container.
+
+ The builder to register the module with.
+ The module to add.
+
+ Thrown if is .
+
+
+ The to allow
+ additional chained module registrations.
+
+
+
+
+ Add a module to the container.
+
+ The module registrar that will make the registration into the container.
+ The module to add.
+
+ Thrown if is .
+
+
+ The to allow
+ additional chained module registrations.
+
+
+
+
+ Add a module to the container.
+
+ The builder to register the module with.
+ The module to add.
+
+ Thrown if or is .
+
+
+ The to allow
+ additional chained module registrations.
+
+
A strongly-typed resource class, for looking up localized strings, etc.
@@ -1364,6 +1576,15 @@
Key of the service.
Type of the service.
+
+
+ Indicates whether the current object is equal to another object of the same type.
+
+ An object to compare with this object.
+
+ true if the current object is equal to the parameter; otherwise, false.
+
+
Determines whether the specified is equal to the current .
@@ -2420,6 +2641,11 @@
resource lookups using this strongly typed resource class.
+
+
+ Looks up a localized string similar to The type '{0}' does not implement the interface '{1}'..
+
+
Looks up a localized string similar to The implementation type '{0}' is not an open generic type definition..
@@ -2502,6 +2728,15 @@
of other components (I.e. like Meta, Func or Owned.)
+
+
+ Gets or sets an expression used to configure generated registrations.
+
+
+ A that can be used to modify the behavior
+ of registrations that are generated by this source.
+
+
A strongly-typed resource class, for looking up localized strings, etc.
@@ -4016,6 +4251,15 @@
Type of the service.
+
+
+ Indicates whether the current object is equal to another object of the same type.
+
+ An object to compare with this object.
+
+ true if the current object is equal to the parameter; otherwise, false.
+
+
Determines whether the specified is equal to the current .
@@ -4094,6 +4338,35 @@
+
+
+ Registration source providing implicit collection/list/enumerable support.
+
+
+
+ This registration source provides enumerable support to allow resolving
+ the set of all registered services of a given type.
+
+
+ What may not be immediately apparent is that it also means any time there
+ are no items of a particular type registered, it will always return an
+ empty set rather than or throwing an exception.
+ This is by design.
+
+
+ Consider the [possibly majority] use case where you're resolving a set
+ of message handlers or event handlers from the container. If there aren't
+ any handlers, you want an empty set - not or
+ an exception. It's valid to have no handlers registered.
+
+
+ This implicit support means other areas (like MVC support or manual
+ property injection) must take care to only request enumerable values they
+ expect to get something back for. In other words, "Don't ask the container
+ for something you don't expect to resolve."
+
+
+
Retrieve registrations for an unregistered service, to be used
@@ -4618,43 +4891,6 @@
Adds registration syntax to the type.
-
-
- Add a module to the container.
-
- The builder to register the module with.
- The module to add.
-
-
-
- Add a module to the container.
-
- The builder to register the module with.
- The module to add.
-
-
-
- Registers modules found in an assembly.
-
- Container builder.
- The assemblies from which to register modules.
-
-
-
- Registers modules found in an assembly.
-
- Container builder.
- The assemblies from which to register modules.
- The type of the module to add.
-
-
-
- Registers modules found in an assembly.
-
- Container builder.
- The of the module to add.
- The assemblies from which to register modules.
-
Add a component to the container.
@@ -5315,6 +5551,22 @@
+
+
+ Share one instance of the component within the context of a single
+ web/HTTP/API request. Only available for integration that supports
+ per-request dependencies (e.g., MVC, Web API, web forms, etc.).
+
+ Registration limit type.
+ Registration style.
+ Activator data type.
+ The registration to configure.
+ Additional tags applied for matching lifetime scopes.
+ A registration builder allowing further configuration of the component.
+
+ Thrown if is .
+
+
A strongly-typed resource class, for looking up localized strings, etc.
@@ -5448,6 +5700,18 @@
An existing container to make the registrations in.
+
+
+ Configure an existing container with the component registrations
+ that have been made and allows additional build options to be specified.
+
+
+ Update can only be called once per
+ - this prevents ownership issues for provided instances.
+
+ An existing container to make the registrations in.
+ Options that influence the way the container is updated.
+
Configure an existing registry with the component registrations
@@ -5808,6 +6072,47 @@
+
+
+ Retrieve a service from the context.
+
+ The context from which to resolve the service.
+ Key of the service.
+ Type of the service.
+
+ The component instance that provides the service.
+
+
+
+
+
+
+ Retrieve a service from the context.
+
+ The context from which to resolve the service.
+ Key of the service.
+ Type of the service.
+ The parameters.
+
+ The component instance that provides the service.
+
+
+
+
+
+
+ Retrieve a service from the context.
+
+ The context from which to resolve the service.
+ Key of the service.
+ Type of the service.
+ The parameters.
+
+ The component instance that provides the service.
+
+
+
+
Retrieve a service from the context.
@@ -6604,6 +6909,11 @@
resource lookups using this strongly typed resource class.
+
+
+ Looks up a localized string similar to Unable to generate a function to return type '{0}' with input parameter types [{1}]. The input parameter type list has duplicate types. Try registering a custom delegate type instead of using a generic Func relationship..
+
+
Looks up a localized string similar to Delegate Support (Func<T>and Custom Delegates).
diff --git a/lib/autofac/Autofac.dll b/lib/autofac/Autofac.dll
index a28af37a4..e4a596a97 100644
Binary files a/lib/autofac/Autofac.dll and b/lib/autofac/Autofac.dll differ
diff --git a/lib/autofac/Autofac.pdb b/lib/autofac/Autofac.pdb
deleted file mode 100644
index 98d7a7cc4..000000000
Binary files a/lib/autofac/Autofac.pdb and /dev/null differ
diff --git a/src/Orchard.Web/Web.config b/src/Orchard.Web/Web.config
index 30c8d20b6..5726981cd 100644
--- a/src/Orchard.Web/Web.config
+++ b/src/Orchard.Web/Web.config
@@ -161,7 +161,7 @@
-
+