removed TvdbLib.dll using the embedded wattvdb.codeplex.com

pull/6/head
kay.one 11 years ago
parent 32ed3dbb46
commit ba68dd9386

@ -1,118 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{DD874E64-C7EC-464D-925F-CF4A709EDEEF}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Autofac.Integration.Mvc</RootNamespace>
<AssemblyName>Autofac.Integration.Mvc</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>..\..\..\Build\Full.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
<DocumentationFile>bin\Debug\Autofac.Integration.Mvc.xml</DocumentationFile>
<CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>..\..\..\Build\Full.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
<DocumentationFile>bin\Release\Autofac.Integration.Mvc.xml</DocumentationFile>
<CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>false</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>..\..\..\Build\SharedKey.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="Autofac">
<HintPath>..\packages\Autofac.3.0.1\lib\net40\Autofac.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Libraries\MVC3\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Libraries\MVC3\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Libraries\MVC3\System.Web.WebPages.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AutofacDependencyResolver.cs" />
<Compile Include="AutofacFilterProvider.cs" />
<Compile Include="AutofacModelBinderProvider.cs" />
<Compile Include="AutofacWebTypesModule.cs" />
<Compile Include="FilterMetadata.cs" />
<Compile Include="RegistrationExtensionsResources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>RegistrationExtensionsResources.resx</DependentUpon>
</Compile>
<Compile Include="RequestLifetimeScopeProvider.cs" />
<Compile Include="ExtensibleActionInvoker.cs" />
<Compile Include="ILifetimeScopeProvider.cs" />
<Compile Include="ModelBinderTypeAttribute.cs" />
<Compile Include="PreApplicationStartCode.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RegistrationExtensions.cs" />
<Compile Include="RequestLifetimeHttpModule.cs" />
<Compile Include="RequestLifetimeScopeProviderResources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>RequestLifetimeScopeProviderResources.resx</DependentUpon>
</Compile>
<Compile Include="ViewRegistrationSource.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RegistrationExtensionsResources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>RegistrationExtensionsResources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="RequestLifetimeScopeProviderResources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>RequestLifetimeScopeProviderResources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

@ -1,164 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright © 2011 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System;
using System.Collections.Generic;
using System.Web.Mvc;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// Autofac implementation of the <see cref="IDependencyResolver"/> interface.
/// </summary>
public class AutofacDependencyResolver : IDependencyResolver
{
readonly ILifetimeScope _container;
readonly Action<ContainerBuilder> _configurationAction;
ILifetimeScopeProvider _lifetimeScopeProvider;
/// <summary>
/// Initializes a new instance of the <see cref="AutofacDependencyResolver"/> class.
/// </summary>
/// <param name="container">The container that nested lifetime scopes will be create from.</param>
public AutofacDependencyResolver(ILifetimeScope container)
{
if (container == null) throw new ArgumentNullException("container");
_container = container;
}
/// <summary>
/// Initializes a new instance of the <see cref="AutofacDependencyResolver"/> class.
/// </summary>
/// <param name="container">The container that nested lifetime scopes will be create from.</param>
/// <param name="configurationAction">Action on a <see cref="ContainerBuilder"/>
/// that adds component registations visible only in nested lifetime scopes.</param>
public AutofacDependencyResolver(ILifetimeScope container, Action<ContainerBuilder> configurationAction)
: this(container)
{
if (configurationAction == null) throw new ArgumentNullException("configurationAction");
_configurationAction = configurationAction;
}
/// <summary>
/// Initializes a new instance of the <see cref="AutofacDependencyResolver"/> class.
/// </summary>
/// <param name="container">The container that nested lifetime scopes will be create from.</param>
/// <param name="lifetimeScopeProvider">A <see cref="ILifetimeScopeProvider"/> implementation for
/// creating new lifetime scopes.</param>
public AutofacDependencyResolver(ILifetimeScope container, ILifetimeScopeProvider lifetimeScopeProvider) :
this(container)
{
if (lifetimeScopeProvider == null) throw new ArgumentNullException("lifetimeScopeProvider");
_lifetimeScopeProvider = lifetimeScopeProvider;
}
/// <summary>
/// Initializes a new instance of the <see cref="AutofacDependencyResolver"/> class.
/// </summary>
/// <param name="container">The container that nested lifetime scopes will be create from.</param>
/// <param name="lifetimeScopeProvider">A <see cref="ILifetimeScopeProvider"/> implementation for
/// creating new lifetime scopes.</param>
/// <param name="configurationAction">Action on a <see cref="ContainerBuilder"/>
/// that adds component registations visible only in nested lifetime scopes.</param>
public AutofacDependencyResolver(ILifetimeScope container, ILifetimeScopeProvider lifetimeScopeProvider, Action<ContainerBuilder> configurationAction)
: this(container, lifetimeScopeProvider)
{
if (configurationAction == null) throw new ArgumentNullException("configurationAction");
_configurationAction = configurationAction;
}
/// <summary>
/// Gets the Autofac implementation of the dependency resolver.
/// </summary>
public static AutofacDependencyResolver Current
{
get
{
// Issue 351: We can't necessarily cast the current dependency resolver
// to AutofacDependencyResolver because diagnostic systems like Glimpse
// will wrap/proxy the resolver. Instead we need to register the resolver
// on the fly with the request lifetime scope and resolve it accordingly.
return DependencyResolver.Current.GetService<AutofacDependencyResolver>();
}
}
/// <summary>
/// The lifetime containing components for processing the current HTTP request.
/// </summary>
public ILifetimeScope RequestLifetimeScope
{
get
{
// Issue 351: Register the AutofacDependencyResolver with
// the request lifetime scope so the current resolver can
// be retrieved without having to cast it directly to
// this specific type.
Action<ContainerBuilder> composite = builder =>
{
if (this._configurationAction != null)
{
this._configurationAction(builder);
}
builder.RegisterInstance(this).As<AutofacDependencyResolver>();
};
if (_lifetimeScopeProvider == null)
{
_lifetimeScopeProvider = new RequestLifetimeScopeProvider(_container);
}
return _lifetimeScopeProvider.GetLifetimeScope(composite);
}
}
/// <summary>
/// Gets the application container that was provided to the constructor.
/// </summary>
public ILifetimeScope ApplicationContainer
{
get { return _container; }
}
/// <summary>
/// Get a single instance of a service.
/// </summary>
/// <param name="serviceType">Type of the service.</param>
/// <returns>The single instance if resolved; otherwise, <c>null</c>.</returns>
public object GetService(Type serviceType)
{
return RequestLifetimeScope.ResolveOptional(serviceType);
}
/// <summary>
/// Gets all available instances of a services.
/// </summary>
/// <param name="serviceType">Type of the service.</param>
/// <returns>The list of instances if any were resolved; otherwise, an empty list.</returns>
public IEnumerable<object> GetServices(Type serviceType)
{
var enumerableServiceType = typeof(IEnumerable<>).MakeGenericType(serviceType);
var instance = RequestLifetimeScope.Resolve(enumerableServiceType);
return (IEnumerable<object>)instance;
}
}
}

@ -1,171 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright © 2012 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Web.Mvc;
using System.Web.Mvc.Async;
using Autofac.Features.Metadata;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// Defines a filter provider for filter attributes that performs property injection.
/// </summary>
public class AutofacFilterProvider : FilterAttributeFilterProvider
{
class FilterContext
{
public ActionDescriptor ActionDescriptor { get; set; }
public ILifetimeScope LifetimeScope { get; set; }
public Type ControllerType { get; set; }
public List<Filter> Filters { get; set; }
}
internal static string ActionFilterMetadataKey = "AutofacMvcActionFilter";
internal static string AuthorizationFilterMetadataKey = "AutofacMvcAuthorizationFilter";
internal static string ExceptionFilterMetadataKey = "AutofacMvcExceptionFilter";
internal static string ResultFilterMetadataKey = "AutofacMvcResultFilter";
/// <summary>
/// Initializes a new instance of the <see cref="AutofacFilterProvider"/> class.
/// </summary>
/// <remarks>
/// The <c>false</c> constructor parameter passed to base here ensures that attribute instances are not cached.
/// </remarks>
public AutofacFilterProvider() : base(false)
{
}
/// <summary>
/// Aggregates the filters from all of the filter providers into one collection.
/// </summary>
/// <param name="controllerContext">The controller context.</param>
/// <param name="actionDescriptor">The action descriptor.</param>
/// <returns>
/// The collection filters from all of the filter providers with properties injected.
/// </returns>
/// <exception cref="System.ArgumentNullException">
/// Thrown if <paramref name="controllerContext" /> is <see langword="null" />.
/// </exception>
public override IEnumerable<Filter> GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor)
{
if (controllerContext == null)
{
throw new ArgumentNullException("controllerContext");
}
var filters = base.GetFilters(controllerContext, actionDescriptor).ToList();
var lifetimeScope = AutofacDependencyResolver.Current.RequestLifetimeScope;
if (lifetimeScope != null)
{
foreach (var filter in filters)
lifetimeScope.InjectProperties(filter.Instance);
var controllerType = controllerContext.Controller.GetType();
var filterContext = new FilterContext
{
ActionDescriptor = actionDescriptor,
LifetimeScope = lifetimeScope,
ControllerType = controllerType,
Filters = filters
};
ResolveControllerScopedFilters(filterContext);
ResolveActionScopedFilters<ReflectedActionDescriptor>(filterContext, d => d.MethodInfo);
ResolveActionScopedFilters<ReflectedAsyncActionDescriptor>(filterContext, d => d.AsyncMethodInfo);
}
return filters.ToArray();
}
static void ResolveControllerScopedFilters(FilterContext filterContext)
{
ResolveControllerScopedFilter<IActionFilter>(filterContext, ActionFilterMetadataKey);
ResolveControllerScopedFilter<IAuthorizationFilter>(filterContext, AuthorizationFilterMetadataKey);
ResolveControllerScopedFilter<IExceptionFilter>(filterContext, ExceptionFilterMetadataKey);
ResolveControllerScopedFilter<IResultFilter>(filterContext, ResultFilterMetadataKey);
}
static void ResolveControllerScopedFilter<TFilter>(FilterContext filterContext, string metadataKey)
where TFilter : class
{
var actionFilters = filterContext.LifetimeScope.Resolve<IEnumerable<Meta<Lazy<TFilter>>>>();
foreach (var actionFilter in actionFilters.Where(a => a.Metadata.ContainsKey(metadataKey) && a.Metadata[metadataKey] is FilterMetadata))
{
var metadata = (FilterMetadata)actionFilter.Metadata[metadataKey];
if (metadata.ControllerType != null
&& metadata.ControllerType.IsAssignableFrom(filterContext.ControllerType)
&& metadata.FilterScope == FilterScope.Controller
&& metadata.MethodInfo == null)
{
var filter = new Filter(actionFilter.Value.Value, FilterScope.Controller, metadata.Order);
filterContext.Filters.Add(filter);
}
}
}
static void ResolveActionScopedFilters<T>(FilterContext filterContext, Func<T, MethodInfo> methodSelector)
where T : ActionDescriptor
{
var actionDescriptor = filterContext.ActionDescriptor as T;
if (actionDescriptor == null) return;
var methodInfo = methodSelector(actionDescriptor);
ResolveActionScopedFilter<IActionFilter>(filterContext, methodInfo, ActionFilterMetadataKey);
ResolveActionScopedFilter<IAuthorizationFilter>(filterContext, methodInfo, AuthorizationFilterMetadataKey);
ResolveActionScopedFilter<IExceptionFilter>(filterContext, methodInfo, ExceptionFilterMetadataKey);
ResolveActionScopedFilter<IResultFilter>(filterContext, methodInfo, ResultFilterMetadataKey);
}
static void ResolveActionScopedFilter<TFilter>(FilterContext filterContext, MethodInfo methodInfo, string metadataKey)
where TFilter : class
{
var actionFilters = filterContext.LifetimeScope.Resolve<IEnumerable<Meta<Lazy<TFilter>>>>();
foreach (var actionFilter in actionFilters.Where(a => a.Metadata.ContainsKey(metadataKey) && a.Metadata[metadataKey] is FilterMetadata))
{
var metadata = (FilterMetadata)actionFilter.Metadata[metadataKey];
if (metadata.ControllerType != null
&& metadata.ControllerType.IsAssignableFrom(filterContext.ControllerType)
&& metadata.FilterScope == FilterScope.Action
&& metadata.MethodInfo.GetBaseDefinition() == methodInfo.GetBaseDefinition())
{
var filter = new Filter(actionFilter.Value.Value, FilterScope.Action, metadata.Order);
filterContext.Filters.Add(filter);
}
}
}
}
}

@ -1,59 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright © 2011 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Autofac.Features.Metadata;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// Autofac implementation of the <see cref="IModelBinderProvider"/> interface.
/// </summary>
public class AutofacModelBinderProvider : IModelBinderProvider
{
/// <summary>
/// Metadata key for the supported model types.
/// </summary>
internal static readonly string MetadataKey = "SupportedModelTypes";
/// <summary>
/// Gets the model binder associated with the provided model type.
/// </summary>
/// <param name="modelType">Type of the model.</param>
/// <returns>An <see cref="IModelBinder"/> instance if found; otherwise, <c>null</c>.</returns>
public IModelBinder GetBinder(Type modelType)
{
var modelBinders = DependencyResolver.Current.GetServices<Meta<Lazy<IModelBinder>>>();
var modelBinder = modelBinders
.Where(binder => binder.Metadata.ContainsKey(MetadataKey))
.FirstOrDefault(binder => ((List<Type>)binder.Metadata[MetadataKey]).Contains(modelType));
return (modelBinder != null) ? modelBinder.Value.Value : null;
}
}
}

@ -1,178 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright © 2011 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System.Web;
using System.Web.Hosting;
using System.Web.Mvc;
using System.Web.Routing;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// Dependency injection module that registers abstractions for common
/// web application properties.
/// </summary>
/// <remarks>
/// <para>
/// This <see cref="Autofac.Module"/> is primarily used during
/// application startup (in <c>Global.asax</c>) to register
/// mappings from commonly referenced contextual application properties
/// to their corresponding abstraction.
/// </para>
/// <para>
/// The following mappings are made:
/// </para>
/// <list type="table">
/// <listheader>
/// <term>Common Construct</term>
/// <description>Abstraction</description>
/// </listheader>
/// <item>
/// <term><c>HttpContext.Current</c></term>
/// <description><see cref="System.Web.HttpContextBase"/></description>
/// </item>
/// <item>
/// <term><c>HttpContext.Current.Application</c></term>
/// <description><see cref="System.Web.HttpApplicationStateBase"/></description>
/// </item>
/// <item>
/// <term><c>HttpContext.Current.Request</c></term>
/// <description><see cref="System.Web.HttpRequestBase"/></description>
/// </item>
/// <item>
/// <term><c>HttpContext.Current.Request.Browser</c></term>
/// <description><see cref="System.Web.HttpBrowserCapabilitiesBase"/></description>
/// </item>
/// <item>
/// <term><c>HttpContext.Current.Request.Files</c></term>
/// <description><see cref="System.Web.HttpFileCollectionBase"/></description>
/// </item>
/// <item>
/// <term><c>HttpContext.Current.Request.RequestContext</c></term>
/// <description><see cref="System.Web.Routing.RequestContext"/></description>
/// </item>
/// <item>
/// <term><c>HttpContext.Current.Response</c></term>
/// <description><see cref="System.Web.HttpResponseBase"/></description>
/// </item>
/// <item>
/// <term><c>HttpContext.Current.Response.Cache</c></term>
/// <description><see cref="System.Web.HttpCachePolicyBase"/></description>
/// </item>
/// <item>
/// <term><c>HttpContext.Current.Server</c></term>
/// <description><see cref="System.Web.HttpServerUtilityBase"/></description>
/// </item>
/// <item>
/// <term><c>HttpContext.Current.Session</c></term>
/// <description><see cref="System.Web.HttpSessionStateBase"/></description>
/// </item>
/// <item>
/// <term><c>HostingEnvironment.VirtualPathProvider</c></term>
/// <description><see cref="System.Web.Hosting.VirtualPathProvider"/></description>
/// </item>
/// </list>
/// <para>
/// In addition, the <see cref="System.Web.Mvc.UrlHelper"/> type is registered
/// for construction based on the current <see cref="System.Web.Routing.RequestContext"/>.
/// </para>
/// <para>
/// The lifetime for each of these items is one web request.
/// </para>
/// </remarks>
public class AutofacWebTypesModule : Module
{
/// <summary>
/// Registers web abstractions with dependency injection.
/// </summary>
/// <param name="builder">
/// The <see cref="Autofac.ContainerBuilder"/> in which registration
/// should take place.
/// </param>
/// <remarks>
/// <para>
/// This method registers mappings between common current context-related
/// web constructs and their associated abstract counterparts. See
/// <see cref="Autofac.Integration.Mvc.AutofacWebTypesModule"/> for the complete
/// list of mappings that get registered.
/// </para>
/// </remarks>
protected override void Load(ContainerBuilder builder)
{
builder.Register(c => new HttpContextWrapper(HttpContext.Current))
.As<HttpContextBase>()
.InstancePerHttpRequest();
// HttpContext properties
builder.Register(c => c.Resolve<HttpContextBase>().Request)
.As<HttpRequestBase>()
.InstancePerHttpRequest();
builder.Register(c => c.Resolve<HttpContextBase>().Response)
.As<HttpResponseBase>()
.InstancePerHttpRequest();
builder.Register(c => c.Resolve<HttpContextBase>().Server)
.As<HttpServerUtilityBase>()
.InstancePerHttpRequest();
builder.Register(c => c.Resolve<HttpContextBase>().Session)
.As<HttpSessionStateBase>()
.InstancePerHttpRequest();
builder.Register(c => c.Resolve<HttpContextBase>().Application)
.As<HttpApplicationStateBase>()
.InstancePerHttpRequest();
// HttpRequest properties
builder.Register(c => c.Resolve<HttpRequestBase>().Browser)
.As<HttpBrowserCapabilitiesBase>()
.InstancePerHttpRequest();
builder.Register(c => c.Resolve<HttpRequestBase>().Files)
.As<HttpFileCollectionBase>()
.InstancePerHttpRequest();
builder.Register(c => c.Resolve<HttpRequestBase>().RequestContext)
.As<RequestContext>()
.InstancePerHttpRequest();
// HttpResponse properties
builder.Register(c => c.Resolve<HttpResponseBase>().Cache)
.As<HttpCachePolicyBase>()
.InstancePerHttpRequest();
// HostingEnvironment properties
builder.Register(c => HostingEnvironment.VirtualPathProvider)
.As<VirtualPathProvider>()
.InstancePerHttpRequest();
// MVC types
builder.Register(c => new UrlHelper(c.Resolve<RequestContext>()))
.As<UrlHelper>()
.InstancePerHttpRequest();
}
}
}

@ -1,87 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright © 2011 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System;
using System.Web.Mvc;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// Injects services from the container into the ASP.NET MVC invocation pipeline.
/// This is a Async Controller Action Invoker which can be used for both async and non-async scenarios
/// </summary>
/// <remarks>
/// <para>
/// Action methods can include parameters that will be resolved from the
/// container, along with regular parameters.
/// </para>
/// </remarks>
public class ExtensibleActionInvoker : System.Web.Mvc.Async.AsyncControllerActionInvoker
{
/// <summary>
/// Gets the parameter value.
/// </summary>
/// <param name="controllerContext">The controller context.</param><param name="parameterDescriptor">The parameter descriptor.</param>
/// <returns>
/// The parameter value.
/// </returns>
/// <exception cref="System.ArgumentNullException">
/// Thrown if <paramref name="parameterDescriptor" /> is <see langword="null" />.
/// </exception>
protected override object GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor)
{
if (parameterDescriptor == null)
{
throw new ArgumentNullException("parameterDescriptor");
}
// Only resolve parameter values if injection is enabled.
var context = AutofacDependencyResolver.Current.RequestLifetimeScope;
var value = context.ResolveOptional(parameterDescriptor.ParameterType);
if (value == null)
{
// Issue #368
// If injection is enabled and the value can't be resolved, fall back to
// the default behavior. Or if injection isn't enabled, fall back.
// Unfortunately we can't do much to pre-determine if model binding will succeed
// because model binding "knows" about a lot of stuff like arrays, certain generic
// collection types, type converters, and other stuff that may or may not fail.
try
{
value = base.GetParameterValue(controllerContext, parameterDescriptor);
}
catch (MissingMethodException)
{
// Don't do anything - this means the default model binder couldn't
// activate a new instance or figure out some other way to model
// bind it.
}
}
return value;
}
}
}

@ -1,62 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright © 2012 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System;
using System.ComponentModel;
using System.Reflection;
using System.Web.Mvc;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// Metadata interface for filter registrations.
/// </summary>
internal class FilterMetadata
{
/// <summary>
/// Gets the type of the controller.
/// </summary>
[DefaultValue(null)]
public Type ControllerType { get; set; }
/// <summary>
/// Gets the filter scope.
/// </summary>
[DefaultValue(FilterScope.First)]
public FilterScope FilterScope { get; set; }
/// <summary>
/// Gets the method info.
/// </summary>
[DefaultValue(null)]
public MethodInfo MethodInfo { get; set; }
/// <summary>
/// Gets the order in which the filter is applied.
/// </summary>
[DefaultValue(-1)]
public int Order { get; set; }
}
}

@ -1,56 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright © 2011 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System;
using System.Diagnostics.CodeAnalysis;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// Implementors are able to control the creation of nested lifetime scopes.
/// </summary>
public interface ILifetimeScopeProvider
{
/// <summary>
/// Gets a nested lifetime scope that services can be resolved from.
/// </summary>
/// <param name="configurationAction">
/// A configuration action that will execute during lifetime scope creation.
/// </param>
/// <returns>A new or existing nested lifetime scope.</returns>
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
ILifetimeScope GetLifetimeScope(Action<ContainerBuilder> configurationAction);
/// <summary>
/// Ends the current lifetime scope.
/// </summary>
void EndLifetimeScope();
/// <summary>
/// Gets the global, application-wide container.
/// </summary>
ILifetimeScope ApplicationContainer { get; }
}
}

@ -1,64 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright © 2011 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// Indicates what types a model binder supports.
/// </summary>
[SuppressMessage("Microsoft.Design", "CA1019:DefineAccessorsForAttributeArguments")]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
public sealed class ModelBinderTypeAttribute : Attribute
{
/// <summary>
/// Gets the target types.
/// </summary>
public IEnumerable<Type> TargetTypes { get; private set; }
/// <summary>
/// Initializes a new instance of the <see cref="ModelBinderTypeAttribute"/> class.
/// </summary>
/// <param name="targetTypes">The target types.</param>
public ModelBinderTypeAttribute(params Type[] targetTypes)
{
if (targetTypes == null) throw new ArgumentNullException("targetTypes");
TargetTypes = targetTypes;
}
/// <summary>
/// Initializes a new instance of the <see cref="ModelBinderTypeAttribute"/> class.
/// </summary>
/// <param name="targetType">The target type.</param>
public ModelBinderTypeAttribute(Type targetType)
{
if (targetType == null) throw new ArgumentNullException("targetType");
TargetTypes = new Type[] { targetType };
}
}
}

@ -1,51 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright © 2011 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System.ComponentModel;
using Microsoft.Web.Infrastructure.DynamicModuleHelper;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// Container class for the ASP.NET application startup method.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public static class PreApplicationStartCode
{
private static bool _startWasCalled;
/// <summary>
/// Performs ASP.NET application startup logic early in the pipeline.
/// </summary>
public static void Start()
{
// Guard against multiple calls. All Start calls are made on the same thread, so no lock needed here.
if (_startWasCalled) return;
_startWasCalled = true;
DynamicModuleUtility.RegisterModule(typeof(RequestLifetimeHttpModule));
}
}
}

@ -1,12 +0,0 @@
using System;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Web;
using Autofac.Integration.Mvc;
[assembly: AssemblyTitle("Autofac.Integration.Mvc")]
[assembly: AssemblyDescription("Autofac ASP.NET MVC 4 Integration")]
[assembly: InternalsVisibleTo("Autofac.Tests.Integration.Mvc, PublicKey=00240000048000009400000006020000002400005253413100040000010001008728425885ef385e049261b18878327dfaaf0d666dea3bd2b0e4f18b33929ad4e5fbc9087e7eda3c1291d2de579206d9b4292456abffbe8be6c7060b36da0c33b883e3878eaf7c89fddf29e6e27d24588e81e86f3a22dd7b1a296b5f06fbfb500bbd7410faa7213ef4e2ce7622aefc03169b0324bcd30ccfe9ac8204e4960be6")]
[assembly: PreApplicationStartMethod(typeof(PreApplicationStartCode), "Start")]
[assembly: ComVisible(false)]

@ -1,510 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright © 2011 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Web;
using System.Web.Mvc;
using Autofac.Builder;
using Autofac.Core;
using Autofac.Features.Scanning;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// Extends <see cref="ContainerBuilder"/> with methods to support ASP.NET MVC.
/// </summary>
public static class RegistrationExtensions
{
/// <summary>
/// Share one instance of the component within the context of a single
/// HTTP request.
/// </summary>
/// <typeparam name="TLimit">Registration limit type.</typeparam>
/// <typeparam name="TStyle">Registration style.</typeparam>
/// <typeparam name="TActivatorData">Activator data type.</typeparam>
/// <param name="registration">The registration to configure.</param>
/// <returns>A registration builder allowing further configuration of the component.</returns>
public static IRegistrationBuilder<TLimit, TActivatorData, TStyle>
InstancePerHttpRequest<TLimit, TActivatorData, TStyle>(
this IRegistrationBuilder<TLimit, TActivatorData, TStyle> registration)
{
if (registration == null) throw new ArgumentNullException("registration");
return registration.InstancePerMatchingLifetimeScope(RequestLifetimeScopeProvider.HttpRequestTag);
}
/// <summary>
/// Register types that implement IController in the provided assemblies.
/// </summary>
/// <param name="builder">The container builder.</param>
/// <param name="controllerAssemblies">Assemblies to scan for controllers.</param>
/// <returns>Registration builder allowing the controller components to be customised.</returns>
public static IRegistrationBuilder<object, ScanningActivatorData, DynamicRegistrationStyle>
RegisterControllers(
this ContainerBuilder builder,
params Assembly[] controllerAssemblies)
{
return builder.RegisterAssemblyTypes(controllerAssemblies)
.Where(t => typeof(IController).IsAssignableFrom(t) &&
t.Name.EndsWith("Controller", StringComparison.Ordinal));
}
/// <summary>
/// Inject an IActionInvoker into the controller's ActionInvoker property.
/// </summary>
/// <typeparam name="TLimit">Limit type.</typeparam>
/// <typeparam name="TActivatorData">Activator data.</typeparam>
/// <typeparam name="TRegistrationStyle">Registration style.</typeparam>
/// <param name="registrationBuilder">The registration builder.</param>
/// <returns>A registration builder.</returns>
public static IRegistrationBuilder<TLimit, TActivatorData, TRegistrationStyle>
InjectActionInvoker<TLimit, TActivatorData, TRegistrationStyle>(
this IRegistrationBuilder<TLimit, TActivatorData, TRegistrationStyle> registrationBuilder)
{
return registrationBuilder.InjectActionInvoker(new TypedService(typeof(IActionInvoker)));
}
/// <summary>
/// Inject an IActionInvoker into the controller's ActionInvoker property.
/// </summary>
/// <typeparam name="TLimit">Limit type.</typeparam>
/// <typeparam name="TActivatorData">Activator data.</typeparam>
/// <typeparam name="TRegistrationStyle">Registration style.</typeparam>
/// <param name="registrationBuilder">The registration builder.</param>
/// <param name="actionInvokerService">Service used to resolve the action invoker.</param>
/// <returns>A registration builder.</returns>
public static IRegistrationBuilder<TLimit, TActivatorData, TRegistrationStyle>
InjectActionInvoker<TLimit, TActivatorData, TRegistrationStyle>(
this IRegistrationBuilder<TLimit, TActivatorData, TRegistrationStyle> registrationBuilder,
Service actionInvokerService)
{
if (registrationBuilder == null) throw new ArgumentNullException("registrationBuilder");
if (actionInvokerService == null) throw new ArgumentNullException("actionInvokerService");
return registrationBuilder.OnActivating(e =>
{
var controller = e.Instance as Controller;
if (controller != null)
controller.ActionInvoker = (IActionInvoker)e.Context.ResolveService(actionInvokerService);
});
}
/// <summary>
/// Registers the <see cref="AutofacModelBinderProvider"/>.
/// </summary>
/// <param name="builder">The container builder.</param>
public static void RegisterModelBinderProvider(this ContainerBuilder builder)
{
if (builder == null) throw new ArgumentNullException("builder");
builder.RegisterType<AutofacModelBinderProvider>()
.As<IModelBinderProvider>()
.SingleInstance();
}
/// <summary>
/// Sets a provided registration to act as an <see cref="System.Web.Mvc.IModelBinder"/>
/// for the specified list of types.
/// </summary>
/// <param name="registration">
/// The registration for the type or object instance that will act as
/// the model binder.
/// </param>
/// <param name="types">
/// The list of model <see cref="System.Type"/> for which the <paramref name="registration" />
/// should be a model binder.
/// </param>
/// <typeparam name="TLimit">
/// Registration limit type.
/// </typeparam>
/// <typeparam name="TActivatorData">
/// Activator data type.
/// </typeparam>
/// <typeparam name="TRegistrationStyle">
/// Registration style.
/// </typeparam>
/// <returns>
/// An Autofac registration that can be modified as needed.
/// </returns>
/// <exception cref="System.ArgumentNullException">
/// Thrown if <paramref name="registration" /> or <paramref name="types" /> is <see langword="null" />.
/// </exception>
/// <exception cref="System.ArgumentException">
/// Thrown if <paramref name="types" /> is empty or contains all <see langword="null" />
/// values.
/// </exception>
/// <remarks>
/// <para>
/// The declarative mechanism of registering model binders with Autofac
/// is through use of <see cref="Autofac.Integration.Mvc.RegistrationExtensions.RegisterModelBinders"/>
/// and the <see cref="Autofac.Integration.Mvc.ModelBinderTypeAttribute"/>.
/// This method is an imperative alternative.
/// </para>
/// <para>
/// The two mechanisms are mutually exclusive. If you register a model
/// binder using <see cref="Autofac.Integration.Mvc.RegistrationExtensions.RegisterModelBinders"/>
/// and register the same model binder with this method, the results
/// are not automatically merged together - standard dependency
/// registration/resolution rules will be used to manage the conflict.
/// </para>
/// <para>
/// Any <see langword="null" /> values provided in <paramref name="types" />
/// will be removed prior to registration.
/// </para>
/// </remarks>
public static IRegistrationBuilder<TLimit, TActivatorData, TRegistrationStyle> AsModelBinderForTypes<TLimit, TActivatorData, TRegistrationStyle>(this IRegistrationBuilder<TLimit, TActivatorData, TRegistrationStyle> registration, params Type[] types)
where TActivatorData : IConcreteActivatorData
where TRegistrationStyle : SingleRegistrationStyle
{
if (registration == null)
{
throw new ArgumentNullException("registration");
}
if (types == null)
{
throw new ArgumentNullException("types");
}
var typeList = types.Where(type => type != null).ToList();
if (typeList.Count == 0)
{
throw new ArgumentException(RegistrationExtensionsResources.InvalidModelBinderType, "types");
}
return registration.As<IModelBinder>().WithMetadata(AutofacModelBinderProvider.MetadataKey, typeList);
}
/// <summary>
/// Register types that implement <see cref="IModelBinder"/> in the provided assemblies
/// and have a <see cref="Autofac.Integration.Mvc.ModelBinderTypeAttribute"/>.
/// </summary>
/// <param name="builder">The container builder.</param>
/// <param name="modelBinderAssemblies">Assemblies to scan for model binders.</param>
/// <returns>A registration builder.</returns>
/// <exception cref="System.ArgumentNullException">
/// Thrown if <paramref name="builder" /> or <paramref name="modelBinderAssemblies" /> is <see langword="null" />.
/// </exception>
/// <remarks>
/// <para>
/// The declarative mechanism of registering model binders with Autofac
/// is through use of this method and the
/// <see cref="Autofac.Integration.Mvc.ModelBinderTypeAttribute"/>.
/// If you would like more imperative control over registration for your
/// model binders, see the <see cref="AsModelBinderForTypes{TLimit,TActivatorData,TRegistrationStyle}"/>
/// method.
/// </para>
/// <para>
/// The two mechanisms are mutually exclusive. If you register a model
/// binder using <see cref="AsModelBinderForTypes{TLimit,TActivatorData,TRegistrationStyle}"/>
/// and register the same model binder with this method, the results
/// are not automatically merged together - standard dependency
/// registration/resolution rules will be used to manage the conflict.
/// </para>
/// <para>
/// This method only registers types that implement <see cref="IModelBinder"/>
/// and are marked with the <see cref="Autofac.Integration.Mvc.ModelBinderTypeAttribute"/>.
/// The model binder must have the attribute because the
/// <see cref="Autofac.Integration.Mvc.AutofacModelBinderProvider"/> uses
/// the associated metadata - from the attribute(s) - to resolve the
/// binder based on model type. If there aren't any attributes, there
/// won't be any metadata, so the model binder will be technically
/// registered but will never actually be resolved.
/// </para>
/// <para>
/// If your model is not marked with the attribute, or if you don't want
/// to use attributes, use the
/// <see cref="AsModelBinderForTypes{TLimit,TActivatorData,TRegistrationStyle}"/>
/// extension instead.
/// </para>
/// </remarks>
public static IRegistrationBuilder<object, ScanningActivatorData, DynamicRegistrationStyle>
RegisterModelBinders(this ContainerBuilder builder, params Assembly[] modelBinderAssemblies)
{
if (builder == null) throw new ArgumentNullException("builder");
if (modelBinderAssemblies == null) throw new ArgumentNullException("modelBinderAssemblies");
return builder.RegisterAssemblyTypes(modelBinderAssemblies)
.Where(type => typeof(IModelBinder).IsAssignableFrom(type) && type.GetCustomAttributes(typeof(ModelBinderTypeAttribute), true).Length > 0)
.As<IModelBinder>()
.InstancePerHttpRequest()
.WithMetadata(AutofacModelBinderProvider.MetadataKey, type =>
(from ModelBinderTypeAttribute attribute in type.GetCustomAttributes(typeof(ModelBinderTypeAttribute), true)
from targetType in attribute.TargetTypes
select targetType).ToList());
}
/// <summary>
/// Registers the <see cref="AutofacFilterProvider"/>.
/// </summary>
/// <param name="builder">The container builder.</param>
public static void RegisterFilterProvider(this ContainerBuilder builder)
{
if (builder == null) throw new ArgumentNullException("builder");
foreach (var provider in FilterProviders.Providers.OfType<FilterAttributeFilterProvider>().ToArray())
FilterProviders.Providers.Remove(provider);
builder.RegisterType<AutofacFilterProvider>()
.As<IFilterProvider>()
.SingleInstance();
}
/// <summary>
/// Cache instances in the web session. This implies external ownership (disposal is not
/// available.) All dependencies must also have external ownership.
/// </summary>
/// <remarks>
/// It is strongly recommended that components cached per-session do not take dependencies on
/// other services.
/// </remarks>
/// <typeparam name="TLimit">Registration limit type.</typeparam>
/// <typeparam name="TSingleRegistrationStyle">Registration style.</typeparam>
/// <typeparam name="TActivatorData">Activator data type.</typeparam>
/// <param name="registration">The registration to configure.</param>
/// <returns>A registration builder allowing further configuration of the component.</returns>
[SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "It is the responsibility of the registry to dispose of registrations.")]
public static IRegistrationBuilder<TLimit, TActivatorData, TSingleRegistrationStyle>
CacheInSession<TLimit, TActivatorData, TSingleRegistrationStyle>(
this IRegistrationBuilder<TLimit, TActivatorData, TSingleRegistrationStyle> registration)
where TActivatorData : IConcreteActivatorData
where TSingleRegistrationStyle : SingleRegistrationStyle
{
if (registration == null) throw new ArgumentNullException("registration");
var services = registration.RegistrationData.Services.ToArray();
registration.RegistrationData.ClearServices();
return registration
.ExternallyOwned()
.OnRegistered(e => e.ComponentRegistry.Register(RegistrationBuilder
.ForDelegate((c, p) =>
{
var session = HttpContext.Current.Session;
object result;
lock (session.SyncRoot)
{
result = session[e.ComponentRegistration.Id.ToString()];
if (result == null)
{
result = c.ResolveComponent(e.ComponentRegistration, p);
session[e.ComponentRegistration.Id.ToString()] = result;
}
}
return result;
})
.As(services)
.InstancePerLifetimeScope()
.ExternallyOwned()
.CreateRegistration()));
}
/// <summary>
/// Sets the provided registration to act as an <see cref="IActionFilter"/> for the specified controller action.
/// </summary>
/// <typeparam name="TController">The type of the controller.</typeparam>
/// <param name="registration">The registration.</param>
/// <param name="actionSelector">The action selector.</param>
/// <param name="order">The order in which the filter is applied.</param>
/// <returns>A registration builder allowing further configuration of the component.</returns>
public static IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle>
AsActionFilterFor<TController>(this IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle> registration,
Expression<Action<TController>> actionSelector, int order = Filter.DefaultOrder)
where TController : IController
{
return AsFilterFor<IActionFilter, TController>(registration, AutofacFilterProvider.ActionFilterMetadataKey, actionSelector, order);
}
/// <summary>
/// Sets the provided registration to act as an <see cref="IActionFilter"/> for the specified controller.
/// </summary>
/// <typeparam name="TController">The type of the controller.</typeparam>
/// <param name="registration">The registration.</param>
/// <param name="order">The order in which the filter is applied.</param>
/// <returns>A registration builder allowing further configuration of the component.</returns>
public static IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle>
AsActionFilterFor<TController>(this IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle> registration, int order = Filter.DefaultOrder)
where TController : IController
{
return AsFilterFor<IActionFilter, TController>(registration, AutofacFilterProvider.ActionFilterMetadataKey, order);
}
/// <summary>
/// Sets the provided registration to act as an <see cref="IAuthorizationFilter"/> for the specified controller action.
/// </summary>
/// <typeparam name="TController">The type of the controller.</typeparam>
/// <param name="registration">The registration.</param>
/// <param name="actionSelector">The action selector.</param>
/// <param name="order">The order in which the filter is applied.</param>
/// <returns>A registration builder allowing further configuration of the component.</returns>
public static IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle>
AsAuthorizationFilterFor<TController>(this IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle> registration,
Expression<Action<TController>> actionSelector, int order = Filter.DefaultOrder)
where TController : IController
{
return AsFilterFor<IAuthorizationFilter, TController>(registration, AutofacFilterProvider.AuthorizationFilterMetadataKey, actionSelector, order);
}
/// <summary>
/// Sets the provided registration to act as an <see cref="IAuthorizationFilter"/> for the specified controller.
/// </summary>
/// <typeparam name="TController">The type of the controller.</typeparam>
/// <param name="registration">The registration.</param>
/// <param name="order">The order in which the filter is applied.</param>
/// <returns>A registration builder allowing further configuration of the component.</returns>
public static IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle>
AsAuthorizationFilterFor<TController>(this IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle> registration, int order = Filter.DefaultOrder)
where TController : IController
{
return AsFilterFor<IAuthorizationFilter, TController>(registration, AutofacFilterProvider.AuthorizationFilterMetadataKey, order);
}
/// <summary>
/// Sets the provided registration to act as an <see cref="IExceptionFilter"/> for the specified controller action.
/// </summary>
/// <typeparam name="TController">The type of the controller.</typeparam>
/// <param name="registration">The registration.</param>
/// <param name="actionSelector">The action selector.</param>
/// <param name="order">The order in which the filter is applied.</param>
/// <returns>A registration builder allowing further configuration of the component.</returns>
public static IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle>
AsExceptionFilterFor<TController>(this IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle> registration,
Expression<Action<TController>> actionSelector, int order = Filter.DefaultOrder)
where TController : IController
{
return AsFilterFor<IExceptionFilter, TController>(registration, AutofacFilterProvider.ExceptionFilterMetadataKey, actionSelector, order);
}
/// <summary>
/// Sets the provided registration to act as an <see cref="IExceptionFilter"/> for the specified controller.
/// </summary>
/// <typeparam name="TController">The type of the controller.</typeparam>
/// <param name="registration">The registration.</param>
/// <param name="order">The order in which the filter is applied.</param>
/// <returns>A registration builder allowing further configuration of the component.</returns>
public static IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle>
AsExceptionFilterFor<TController>(this IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle> registration, int order = Filter.DefaultOrder)
where TController : IController
{
return AsFilterFor<IExceptionFilter, TController>(registration, AutofacFilterProvider.ExceptionFilterMetadataKey, order);
}
/// <summary>
/// Sets the provided registration to act as an <see cref="IResultFilter"/> for the specified controller action.
/// </summary>
/// <typeparam name="TController">The type of the controller.</typeparam>
/// <param name="registration">The registration.</param>
/// <param name="actionSelector">The action selector.</param>
/// <param name="order">The order in which the filter is applied.</param>
/// <returns>A registration builder allowing further configuration of the component.</returns>
public static IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle>
AsResultFilterFor<TController>(this IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle> registration,
Expression<Action<TController>> actionSelector, int order = Filter.DefaultOrder)
where TController : IController
{
return AsFilterFor<IResultFilter, TController>(registration, AutofacFilterProvider.ResultFilterMetadataKey, actionSelector, order);
}
/// <summary>
/// Sets the provided registration to act as an <see cref="IResultFilter"/> for the specified controller.
/// </summary>
/// <typeparam name="TController">The type of the controller.</typeparam>
/// <param name="registration">The registration.</param>
/// <param name="order">The order in which the filter is applied.</param>
/// <returns>A registration builder allowing further configuration of the component.</returns>
public static IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle>
AsResultFilterFor<TController>(this IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle> registration, int order = Filter.DefaultOrder)
where TController : IController
{
return AsFilterFor<IResultFilter, TController>(registration, AutofacFilterProvider.ResultFilterMetadataKey, order);
}
static IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle>
AsFilterFor<TFilter, TController>(IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle> registration, string metadataKey, Expression<Action<TController>> actionSelector, int order)
where TController : IController
{
if (registration == null) throw new ArgumentNullException("registration");
if (actionSelector == null) throw new ArgumentNullException("actionSelector");
var limitType = registration.ActivatorData.Activator.LimitType;
if (!limitType.IsAssignableTo<TFilter>())
{
var message = string.Format(CultureInfo.CurrentCulture, RegistrationExtensionsResources.MustBeAssignableToFilterType,
limitType.FullName, typeof(TFilter).FullName);
throw new ArgumentException(message, "registration");
}
var metadata = new FilterMetadata
{
ControllerType = typeof(TController),
FilterScope = FilterScope.Action,
MethodInfo = GetMethodInfo(actionSelector),
Order = order
};
return registration.As<TFilter>().WithMetadata(metadataKey, metadata);
}
static IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle>
AsFilterFor<TFilter, TController>(IRegistrationBuilder<object, IConcreteActivatorData, SingleRegistrationStyle> registration, string metadataKey, int order)
where TController : IController
{
if (registration == null) throw new ArgumentNullException("registration");
var limitType = registration.ActivatorData.Activator.LimitType;
if (!limitType.IsAssignableTo<TFilter>())
{
var message = string.Format(CultureInfo.CurrentCulture, RegistrationExtensionsResources.MustBeAssignableToFilterType,
limitType.FullName, typeof(TFilter).FullName);
throw new ArgumentException(message, "registration");
}
var metadata = new FilterMetadata
{
ControllerType = typeof(TController),
FilterScope = FilterScope.Controller,
MethodInfo = null,
Order = order
};
return registration.As<TFilter>().WithMetadata(metadataKey, metadata);
}
static MethodInfo GetMethodInfo(LambdaExpression expression)
{
var outermostExpression = expression.Body as MethodCallExpression;
if (outermostExpression == null)
throw new ArgumentException(RegistrationExtensionsResources.InvalidActionExpress);
return outermostExpression.Method;
}
}
}

@ -1,90 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.18010
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Autofac.Integration.Mvc {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class RegistrationExtensionsResources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal RegistrationExtensionsResources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Autofac.Integration.Mvc.RegistrationExtensionsResources", typeof(RegistrationExtensionsResources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to The action method Expression is invalid. It should consist only of a Method call to a controller action method..
/// </summary>
internal static string InvalidActionExpress {
get {
return ResourceManager.GetString("InvalidActionExpress", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Type list may not be empty or contain all null values..
/// </summary>
internal static string InvalidModelBinderType {
get {
return ResourceManager.GetString("InvalidModelBinderType", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The type &apos;{0}&apos; must be assignable to the filter type &apos;{1}&apos;..
/// </summary>
internal static string MustBeAssignableToFilterType {
get {
return ResourceManager.GetString("MustBeAssignableToFilterType", resourceCulture);
}
}
}
}

@ -1,129 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="InvalidActionExpress" xml:space="preserve">
<value>The action method Expression is invalid. It should consist only of a Method call to a controller action method.</value>
</data>
<data name="InvalidModelBinderType" xml:space="preserve">
<value>Type list may not be empty or contain all null values.</value>
</data>
<data name="MustBeAssignableToFilterType" xml:space="preserve">
<value>The type '{0}' must be assignable to the filter type '{1}'.</value>
</data>
</root>

@ -1,79 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright © 2011 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System;
using System.Web;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// An <see cref="IHttpModule"/> and <see cref="ILifetimeScopeProvider"/> implementation
/// that creates a nested lifetime scope for each HTTP request.
/// </summary>
internal class RequestLifetimeHttpModule : IHttpModule
{
/// <summary>
/// Gets the lifetime scope provider that should be notified when a HTTP request ends.
/// </summary>
internal static ILifetimeScopeProvider LifetimeScopeProvider { get; private set; }
/// <summary>
/// Initializes a module and prepares it to handle requests.
/// </summary>
/// <param name="context">An <see cref="T:System.Web.HttpApplication"/> that provides access to the
/// methods, properties, and events common to all application objects within an ASP.NET application</param>
/// <exception cref="System.ArgumentNullException">
/// Thrown if <paramref name="context" /> is <see langword="null" />.
/// </exception>
public void Init(HttpApplication context)
{
if (context == null)
{
throw new ArgumentNullException("context");
}
context.EndRequest += OnEndRequest;
}
/// <summary>
/// Disposes of the resources (other than memory) used by the module that implements <see cref="T:System.Web.IHttpModule"/>.
/// </summary>
public void Dispose()
{
}
public static void SetLifetimeScopeProvider(ILifetimeScopeProvider lifetimeScopeProvider)
{
if (lifetimeScopeProvider == null) throw new ArgumentNullException("lifetimeScopeProvider");
LifetimeScopeProvider = lifetimeScopeProvider;
}
static void OnEndRequest(object sender, EventArgs e)
{
if (LifetimeScopeProvider != null)
LifetimeScopeProvider.EndLifetimeScope();
}
}
}

@ -1,122 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright (c) 2011 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Web;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// Creates and disposes HTTP request based lifetime scopes.
/// </summary>
/// <remarks>
/// The provider is notified when a HTTP request ends by the <see cref="RequestLifetimeHttpModule"/>.
/// </remarks>
public class RequestLifetimeScopeProvider : ILifetimeScopeProvider
{
readonly ILifetimeScope _container;
/// <summary>
/// Tag used to identify registrations that are scoped to the HTTP request level.
/// </summary>
internal static readonly object HttpRequestTag = "AutofacWebRequest";
/// <summary>
/// Initializes a new instance of the <see cref="RequestLifetimeScopeProvider"/> class.
/// </summary>
/// <param name="container">The parent container, usually the application container.</param>
public RequestLifetimeScopeProvider(ILifetimeScope container)
{
if (container == null) throw new ArgumentNullException("container");
_container = container;
RequestLifetimeHttpModule.SetLifetimeScopeProvider(this);
}
/// <summary>
/// Gets the global, application-wide container.
/// </summary>
public ILifetimeScope ApplicationContainer
{
get { return _container; }
}
static ILifetimeScope LifetimeScope
{
get { return (ILifetimeScope)HttpContext.Current.Items[typeof(ILifetimeScope)]; }
set { HttpContext.Current.Items[typeof(ILifetimeScope)] = value; }
}
/// <summary>
/// Gets a nested lifetime scope that services can be resolved from.
/// </summary>
/// <param name="configurationAction">
/// A configuration action that will execute during lifetime scope creation.
/// </param>
/// <returns>A new or existing nested lifetime scope.</returns>
public ILifetimeScope GetLifetimeScope(Action<ContainerBuilder> configurationAction)
{
if (HttpContext.Current == null)
{
throw new InvalidOperationException(RequestLifetimeScopeProviderResources.HttpContextNotAvailable);
}
if (LifetimeScope == null)
{
if ((LifetimeScope = GetLifetimeScopeCore(configurationAction)) == null)
throw new InvalidOperationException(
string.Format(CultureInfo.CurrentCulture, RequestLifetimeScopeProviderResources.NullLifetimeScopeReturned, GetType().FullName));
}
return LifetimeScope;
}
/// <summary>
/// Ends the current HTTP request lifetime scope.
/// </summary>
public void EndLifetimeScope()
{
var lifetimeScope = LifetimeScope;
if (lifetimeScope != null)
lifetimeScope.Dispose();
}
/// <summary>
/// Gets a lifetime scope for the current HTTP request. This method can be overridden
/// to alter the way that the life time scope is constructed.
/// </summary>
/// <param name="configurationAction">
/// A configuration action that will execute during lifetime scope creation.
/// </param>
/// <returns>A new lifetime scope for the current HTTP request.</returns>
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
protected virtual ILifetimeScope GetLifetimeScopeCore(Action<ContainerBuilder> configurationAction)
{
return (configurationAction == null)
? ApplicationContainer.BeginLifetimeScope(HttpRequestTag)
: ApplicationContainer.BeginLifetimeScope(HttpRequestTag, configurationAction);
}
}
}

@ -1,81 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.1
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Autofac.Integration.Mvc {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class RequestLifetimeScopeProviderResources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal RequestLifetimeScopeProviderResources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Autofac.Integration.Mvc.RequestLifetimeScopeProviderResources", typeof(RequestLifetimeScopeProviderResources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to The request lifetime scope cannot be created because the HttpContext is not available..
/// </summary>
internal static string HttpContextNotAvailable {
get {
return ResourceManager.GetString("HttpContextNotAvailable", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The &apos;GetLifetimeScopeCore&apos; method implementation on &apos;{0}&apos; returned a null ILifetimeScope instance. When overridden this method must return a valid ILifetimeScope instance for the current HTTP request..
/// </summary>
internal static string NullLifetimeScopeReturned {
get {
return ResourceManager.GetString("NullLifetimeScopeReturned", resourceCulture);
}
}
}
}

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="HttpContextNotAvailable" xml:space="preserve">
<value>The request lifetime scope cannot be created because the HttpContext is not available.</value>
</data>
<data name="NullLifetimeScopeReturned" xml:space="preserve">
<value>The 'GetLifetimeScopeCore' method implementation on '{0}' returned a null ILifetimeScope instance. When overridden this method must return a valid ILifetimeScope instance for the current HTTP request.</value>
</data>
</root>

@ -1,78 +0,0 @@
// This software is part of the Autofac IoC container
// Copyright © 2011 Autofac Contributors
// http://autofac.org
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Autofac.Builder;
using Autofac.Core;
namespace Autofac.Integration.Mvc
{
/// <summary>
/// A registration source for building view registrations.
/// </summary>
/// <remarks>
/// Supports view registrations for <see cref="WebViewPage"/>, <see cref="ViewPage"/>,
/// <see cref="ViewMasterPage"/> and <see cref="ViewUserControl"/> derived types.
/// </remarks>
public class ViewRegistrationSource : IRegistrationSource
{
/// <summary>
/// Retrieve registrations for an unregistered service, to be used
/// by the container.
/// </summary>
/// <param name="service">The service that was requested.</param>
/// <param name="registrationAccessor">A function that will return existing registrations for a service.</param>
/// <returns>Registrations providing the service.</returns>
public IEnumerable<IComponentRegistration> RegistrationsFor(Service service, Func<Service, IEnumerable<IComponentRegistration>> registrationAccessor)
{
var typedService = service as IServiceWithType;
if (typedService != null && IsSupportedView(typedService.ServiceType))
yield return RegistrationBuilder.ForType(typedService.ServiceType)
.PropertiesAutowired()
.InstancePerDependency()
.CreateRegistration();
}
/// <summary>
/// Gets whether the registrations provided by this source are 1:1 adapters on top
/// of other components (I.e. like Meta, Func or Owned.)
/// </summary>
public bool IsAdapterForIndividualComponents
{
get { return false; }
}
static bool IsSupportedView(Type serviceType)
{
return serviceType.IsAssignableTo<WebViewPage>()
|| serviceType.IsAssignableTo<ViewPage>()
|| serviceType.IsAssignableTo<ViewMasterPage>()
|| serviceType.IsAssignableTo<ViewUserControl>();
}
}
}

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Autofac" version="3.0.1" targetFramework="net40" />
<package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net40" />
<package id="Microsoft.AspNet.Razor" version="2.0.20715.0" targetFramework="net40" />
<package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" targetFramework="net40" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net40" />
</packages>

Binary file not shown.

@ -1,53 +0,0 @@
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, ctt" />
</configSections>
<log4net>
<!-- contexts:
-->
<!-- Setup the root category, add the appenders and set the default priority
Off, Fatal, Error, Warn, Info, Debug, All.-->
<root>
<level value="All" />
<appender-ref ref="RollingFileAppender" />
<appender-ref ref="TraceAppender" />
<appender-ref ref="ConsoleAppender" />
</root>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%message%newline" />
</layout>
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\\ConfigTransformationTool.log" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Size" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="1MB" />
<param name="StaticLogFileName" value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<header value="[Application Starts]&#13;&#10;" />
<footer value="[Application Stops]&#13;&#10;" />
<param name="ConversionPattern" value="%date{yyyy-MM-dd HH:mm:ss} %message%newline" />
</layout>
</appender>
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%message%newline" />
</layout>
</appender>
</log4net>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
</configuration>

@ -1,208 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>DeskMetrics.NET</name>
</assembly>
<members>
<member name="M:DeskMetrics.IDeskMetricsClient.Start">
<summary>
Starts the application tracking.
</summary>
</member>
<member name="M:DeskMetrics.IDeskMetricsClient.Stop">
<summary>
Stops the application tracking and send the collected data to DeskMetrics
</summary>
</member>
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterEvent(System.String,System.String)">
<summary>
Register an event occurrence
</summary>
<param name="eventCategory">EventCategory Category</param>
<param name="eventName">EventCategory eventName</param>
</member>
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterEventPeriod(System.String,System.String,System.TimeSpan,System.Boolean)">
<summary>
Tracks an event related to time and intervals
</summary>
<param name="eventCategory">
The event category
</param>
<param name="eventName">
The event name
</param>
<param name="eventTime">
The event duration
</param>
<param name="completed">
True if the event was completed.
</param>
</member>
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterInstall">
<summary>
Tracks an installation
</summary>
</member>
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterUninstall">
<summary>
Tracks an uninstall
</summary>
</member>
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterException(System.Exception)">
<summary>
Tracks an exception
</summary>
<param name="exception">
The exception object to be tracked
</param>
</member>
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterEventValue(System.String,System.String,System.String)">
<summary>
Tracks an event with custom value
</summary>
<param name="eventCategory">
The event category
</param>
<param name="eventName">
The event name
</param>
<param name="eventValue">
The custom value
</param>
</member>
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterCustomData(System.String,System.String)">
<summary>
Tracks custom data
</summary>
<param name="key">
The custom data name
</param>
<param name="value">
The custom data value
</param>
</member>
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterLog(System.String)">
<summary>
Tracks a log
</summary>
<param name="message">
The log message
</param>
</member>
<member name="M:DeskMetrics.DeskMetricsClient.Start">
<summary>
Starts the application tracking.
</summary>
</member>
<member name="M:DeskMetrics.DeskMetricsClient.Stop">
<summary>
Stops the application tracking and send the collected data to DeskMetrics
</summary>
</member>
<member name="M:DeskMetrics.DeskMetricsClient.RegisterEvent(System.String,System.String)">
<summary>
Register an event occurrence
</summary>
<param name="eventCategory">EventCategory Category</param>
<param name="eventName">EventCategory eventName</param>
</member>
<member name="M:DeskMetrics.DeskMetricsClient.RegisterEventPeriod(System.String,System.String,System.TimeSpan,System.Boolean)">
<summary>
Tracks an event related to time and intervals
</summary>
<param name="eventCategory">
The event category
</param>
<param name="eventName">
The event name
</param>
<param name="eventTime">
The event duration
</param>
<param name="completed">
True if the event was completed.
</param>
</member>
<member name="M:DeskMetrics.DeskMetricsClient.RegisterInstall">
<summary>
Tracks an installation
</summary>
</member>
<member name="M:DeskMetrics.DeskMetricsClient.RegisterUninstall">
<summary>
Tracks an uninstall
</summary>
</member>
<member name="M:DeskMetrics.DeskMetricsClient.RegisterException(System.Exception)">
<summary>
Tracks an exception
</summary>
<param name="exception">
The exception object to be tracked
</param>
</member>
<member name="M:DeskMetrics.DeskMetricsClient.RegisterEventValue(System.String,System.String,System.String)">
<summary>
Tracks an event with custom value
</summary>
<param name="eventCategory">
The event category
</param>
<param name="eventName">
The event name
</param>
<param name="eventValue">
The custom value
</param>
</member>
<member name="M:DeskMetrics.DeskMetricsClient.RegisterCustomData(System.String,System.String)">
<summary>
Tracks custom data
</summary>
<param name="key">
The custom data name
</param>
<param name="value">
The custom data value
</param>
</member>
<member name="M:DeskMetrics.DeskMetricsClient.RegisterLog(System.String)">
<summary>
Tracks a log
</summary>
<param name="message">
The log message
</param>
</member>
<member name="P:DeskMetrics.DeskMetricsClient.Started">
<summary>
Indicates if the Start() has been called and a session is active.
</summary>
</member>
<member name="P:DeskMetrics.DeskMetricsClient.SessionId">
<summary>
Currently active session. will be null if no sessions are active.
</summary>
</member>
<member name="P:DeskMetrics.DeskMetricsClient.ApplicationId">
<summary>
DeskmMtrics Application ID
</summary>
</member>
<member name="P:DeskMetrics.DeskMetricsClient.ApplicationVersion">
<summary>
Version of application being tracked.
</summary>
</member>
<member name="P:DeskMetrics.DeskMetricsClient.Enabled">
<summary>
Checks if application events are tracked.
</summary>
</member>
<member name="P:DeskMetrics.DeskMetricsClient.UserId">
<summary>
Anonymous identifier of the user being tracked.
</summary>
</member>
</members>
</doc>

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>Microsoft.Web.Infrastructure</name>
</assembly>
<members>
<member name="T:Microsoft.Web.Infrastructure.HttpContextHelper"></member>
<member name="M:Microsoft.Web.Infrastructure.HttpContextHelper.ExecuteInNullContext(System.Action)"></member>
<member name="T:Microsoft.Web.Infrastructure.InfrastructureHelper"></member>
<member name="M:Microsoft.Web.Infrastructure.InfrastructureHelper.IsCodeDomDefinedExtension(System.String)"></member>
<member name="M:Microsoft.Web.Infrastructure.InfrastructureHelper.UnloadAppDomain"></member>
<member name="T:Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility"></member>
<member name="M:Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility.RegisterModule(System.Type)"></member>
<member name="T:Microsoft.Web.Infrastructure.DynamicValidationHelper.ValidationUtility"></member>
<member name="M:Microsoft.Web.Infrastructure.DynamicValidationHelper.ValidationUtility.EnableDynamicValidation(System.Web.HttpContext)"></member>
<member name="M:Microsoft.Web.Infrastructure.DynamicValidationHelper.ValidationUtility.GetUnvalidatedCollections(System.Web.HttpContext,System.Func`1@,System.Void)"></member>
<member name="M:Microsoft.Web.Infrastructure.DynamicValidationHelper.ValidationUtility.IsValidationEnabled(System.Web.HttpContext)"></member>
</members>
</doc>

@ -1,636 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>System.Web.Helpers</name>
</assembly>
<members>
<member name="T:System.Web.Helpers.Chart">
<summary>Displays data as a chart image.</summary>
</member>
<member name="M:System.Web.Helpers.Chart.#ctor(System.Int32,System.Int32,System.String,System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.Chart" /> class.</summary>
<param name="width">The width, in pixels, of the complete chart image.</param>
<param name="height">The height, in pixels, of the complete chart image.</param>
<param name="theme">(Optional) The template (theme) to apply to the chart.</param>
<param name="themePath">(Optional) The template (theme) path and file name to apply to the chart.</param>
</member>
<member name="M:System.Web.Helpers.Chart.AddLegend(System.String,System.String)">
<summary>Adds a legend to the chart.</summary>
<returns>The chart.</returns>
<param name="title">The text of the legend title.</param>
<param name="name">The unique name of the legend.</param>
</member>
<member name="M:System.Web.Helpers.Chart.AddSeries(System.String,System.String,System.String,System.String,System.String,System.Int32,System.Collections.IEnumerable,System.String,System.Collections.IEnumerable,System.String)">
<summary>Provides data points and series attributes for the chart.</summary>
<returns>The chart.</returns>
<param name="name">The unique name of the series.</param>
<param name="chartType">The chart type of a series.</param>
<param name="chartArea">The name of the chart area used to plot the data series.</param>
<param name="axisLabel">The axis label text for the series.</param>
<param name="legend">The name of the series associated with the legend.</param>
<param name="markerStep">A value that determines the granularity to display data point markers.</param>
<param name="xValue">The values to plot along the X-axis.</param>
<param name="xField">The name of the field for X-values.</param>
<param name="yValues">The values to plot along the Y-axis.</param>
<param name="yFields">A comma-separated list of name or names of the field or fields for Y-values.</param>
</member>
<member name="M:System.Web.Helpers.Chart.AddTitle(System.String,System.String)">
<summary>Adds a title to the chart.</summary>
<returns>The chart.</returns>
<param name="text">The title text.</param>
<param name="name">The unique name of the title.</param>
</member>
<member name="M:System.Web.Helpers.Chart.DataBindCrossTable(System.Collections.IEnumerable,System.String,System.String,System.String,System.String,System.String)">
<summary>Databinds a chart to a data table, with one series created per unique value in a column.</summary>
<returns>The chart.</returns>
<param name="dataSource">The chart data source.</param>
<param name="groupByField">The name of the column used to group data into the series.</param>
<param name="xField">The name of the column for X-values.</param>
<param name="yFields">A comma-separated list of names of the columns for Y-values.</param>
<param name="otherFields">Other data point properties that can be bound.</param>
<param name="pointSortOrder">The order in which the series will be sorted. The default is "Ascending".</param>
</member>
<member name="M:System.Web.Helpers.Chart.DataBindTable(System.Collections.IEnumerable,System.String)">
<summary>Creates and binds series data to the specified data table, and optionally populates multiple Y-values.</summary>
<returns>The chart.</returns>
<param name="dataSource">The chart data source.</param>
<param name="xField">The name of the table column used for the series X-values.</param>
</member>
<member name="P:System.Web.Helpers.Chart.FileName">
<summary>Gets or sets the name of the file that contains the chart image.</summary>
<returns>The name of the file.</returns>
</member>
<member name="M:System.Web.Helpers.Chart.GetBytes(System.String)">
<summary>Returns a chart image as a byte array.</summary>
<returns>The chart.</returns>
<param name="format">The image format. The default is "jpeg".</param>
</member>
<member name="M:System.Web.Helpers.Chart.GetFromCache(System.String)">
<summary>Retrieves the specified chart from cache.</summary>
<returns>The chart.</returns>
<param name="key">The identifier of the cache item that contains the chart to retrieve. The key is set when you call the <see cref="M:System.Web.Helpers.Chart.SaveToCache(System.String,System.Int32,System.Boolean)" /> method.</param>
</member>
<member name="P:System.Web.Helpers.Chart.Height">
<summary>Gets or sets the height of the chart image.</summary>
<returns>The chart height.</returns>
</member>
<member name="M:System.Web.Helpers.Chart.Save(System.String,System.String)">
<summary>Saves a chart image to the specified path and file name.</summary>
<returns>The chart.</returns>
<param name="path">The location and name of the image file.</param>
<param name="format">The image file format.</param>
</member>
<member name="M:System.Web.Helpers.Chart.SaveToCache(System.String,System.Int32,System.Boolean)">
<summary>Saves a chart in the system cache.</summary>
<returns>Returns <see cref="T:System.String" />.</returns>
<param name="key">The identifier for the chart in the cache.</param>
<param name="minutesToCache">The number of minutes to keep the chart image in the cache. The default is 20.</param>
<param name="slidingExpiration">true to indicate that the chart cache item's expiration is reset each time the item is accessed, or false to indicate that the expiration is based on an absolute interval since the time that the item was added to the cache. </param>
</member>
<member name="M:System.Web.Helpers.Chart.SaveXml(System.String)">
<summary>Saves a chart as an XML file.</summary>
<returns>The chart.</returns>
<param name="path">The path and filename to save the XML file to.</param>
</member>
<member name="M:System.Web.Helpers.Chart.SetXAxis(System.String,System.Double,System.Double)">
<summary>Sets values for the horizontal axis.</summary>
<returns>The chart.</returns>
<param name="title">The title of the horizontal axis.</param>
<param name="min">The minimum value for the horizontal axis.</param>
<param name="max">The maximum value for the horizontal axis.</param>
</member>
<member name="M:System.Web.Helpers.Chart.SetYAxis(System.String,System.Double,System.Double)">
<summary>Sets values for the vertical axis.</summary>
<returns>The chart.</returns>
<param name="title">The title of the vertical axis.</param>
<param name="min">The minimum value for the vertical axis.</param>
<param name="max">The maximum value for the vertical axis.</param>
</member>
<member name="M:System.Web.Helpers.Chart.ToWebImage(System.String)">
<summary>Creates a <see cref="T:System.Web.Helpers.WebImage" /> object based on the current <see cref="T:System.Web.Helpers.Chart" /> object.</summary>
<returns>The chart.</returns>
<param name="format">The format of the image to save the <see cref="T:System.Web.Helpers.WebImage" /> object as. The default is jpeg.</param>
</member>
<member name="P:System.Web.Helpers.Chart.Width">
<summary>Gets or set the width of the chart image.</summary>
<returns>The chart width.</returns>
</member>
<member name="M:System.Web.Helpers.Chart.Write(System.String)">
<summary>Renders the output of the <see cref="T:System.Web.Helpers.Chart" /> object as an image.</summary>
<returns>The chart.</returns>
<param name="format">The format of the image. The default is "jpeg".</param>
</member>
<member name="M:System.Web.Helpers.Chart.WriteFromCache(System.String,System.String)">
<summary>Renders the output of a <see cref="T:System.Web.Helpers.Chart" /> object that has been cached as an image.</summary>
<returns>The chart.</returns>
<param name="key">The identifier for the chart in the cache.</param>
<param name="format">The format of the image. The default is "jpeg".</param>
</member>
<member name="T:System.Web.Helpers.ChartTheme"></member>
<member name="F:System.Web.Helpers.ChartTheme.Blue"></member>
<member name="F:System.Web.Helpers.ChartTheme.Green"></member>
<member name="F:System.Web.Helpers.ChartTheme.Vanilla"></member>
<member name="F:System.Web.Helpers.ChartTheme.Vanilla3D"></member>
<member name="F:System.Web.Helpers.ChartTheme.Yellow"></member>
<member name="T:System.Web.Helpers.Crypto">
<summary>Provides methods to encrypt passwords or other sensitive data.</summary>
</member>
<member name="M:System.Web.Helpers.Crypto.GenerateSalt(System.Int32)"></member>
<member name="M:System.Web.Helpers.Crypto.Hash(System.Byte[],System.String)">
<summary>Returns a hash value for the specified byte array.</summary>
<returns>The hash value for <paramref name="input" />.</returns>
<param name="input">The data to provide a hash value for.</param>
<param name="algorithm">The algorithm used to generate the hash value. The default is "sha256".</param>
</member>
<member name="M:System.Web.Helpers.Crypto.Hash(System.String,System.String)">
<summary>Returns a hash value for the specified string.</summary>
<returns>The hash value for <paramref name="input" />.</returns>
<param name="input">The data to provide a hash value for.</param>
<param name="algorithm">The algorithm used to generate the hash value. The default is "sha256".</param>
</member>
<member name="M:System.Web.Helpers.Crypto.HashPassword(System.String)">
<summary>Returns a hash value for the specified password.</summary>
<returns>The hash value for <paramref name="password" />.</returns>
<param name="password">The password to generate a hash value for.</param>
</member>
<member name="M:System.Web.Helpers.Crypto.SHA1(System.String)"></member>
<member name="M:System.Web.Helpers.Crypto.SHA256(System.String)"></member>
<member name="M:System.Web.Helpers.Crypto.VerifyHashedPassword(System.String,System.String)"></member>
<member name="T:System.Web.Helpers.DynamicJsonArray"></member>
<member name="M:System.Web.Helpers.DynamicJsonArray.#ctor(System.Object[])"></member>
<member name="M:System.Web.Helpers.DynamicJsonArray.GetEnumerator"></member>
<member name="P:System.Web.Helpers.DynamicJsonArray.Item(System.Int32)"></member>
<member name="P:System.Web.Helpers.DynamicJsonArray.Length"></member>
<member name="M:System.Web.Helpers.DynamicJsonArray.op_Implicit(System.Web.Helpers.DynamicJsonArray)~System.Array"></member>
<member name="M:System.Web.Helpers.DynamicJsonArray.op_Implicit(System.Web.Helpers.DynamicJsonArray)~System.Object[]"></member>
<member name="M:System.Web.Helpers.DynamicJsonArray.System#Collections#Generic#IEnumerable{T}#GetEnumerator"></member>
<member name="M:System.Web.Helpers.DynamicJsonArray.TryConvert(System.Dynamic.ConvertBinder,System.Object@)"></member>
<member name="M:System.Web.Helpers.DynamicJsonArray.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)"></member>
<member name="T:System.Web.Helpers.DynamicJsonObject"></member>
<member name="M:System.Web.Helpers.DynamicJsonObject.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})"></member>
<member name="M:System.Web.Helpers.DynamicJsonObject.GetDynamicMemberNames"></member>
<member name="M:System.Web.Helpers.DynamicJsonObject.TryConvert(System.Dynamic.ConvertBinder,System.Object@)"></member>
<member name="M:System.Web.Helpers.DynamicJsonObject.TryGetIndex(System.Dynamic.GetIndexBinder,System.Object[],System.Object@)"></member>
<member name="M:System.Web.Helpers.DynamicJsonObject.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)"></member>
<member name="M:System.Web.Helpers.DynamicJsonObject.TrySetIndex(System.Dynamic.SetIndexBinder,System.Object[],System.Object)"></member>
<member name="M:System.Web.Helpers.DynamicJsonObject.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)"></member>
<member name="T:System.Web.Helpers.Json">
<summary>Provides methods for working with data in JavaScript Object Notation (JSON) format.</summary>
</member>
<member name="M:System.Web.Helpers.Json.Decode``1(System.String)">
<summary>Converts data in JavaScript Object Notation (JSON) format into the specified strongly typed data list.</summary>
<returns>The JSON-encoded data converted to a strongly typed list.</returns>
<param name="value">The JSON-encoded string to convert.</param>
<typeparam name="T">The type of the strongly typed list to convert JSON data into.</typeparam>
</member>
<member name="M:System.Web.Helpers.Json.Decode(System.String)">
<summary>Converts data in JavaScript Object Notation (JSON) format into a data object.</summary>
<returns>The JSON-encoded data converted to a data object.</returns>
<param name="value">The JSON-encoded string to convert.</param>
</member>
<member name="M:System.Web.Helpers.Json.Decode(System.String,System.Type)">
<summary>Converts data in JavaScript Object Notation (JSON) format into a data object of a specified type.</summary>
<returns>The JSON-encoded data converted to the specified type.</returns>
<param name="value">The JSON-encoded string to convert.</param>
<param name="targetType">The type that the <paramref name="value" /> data should be converted to.</param>
</member>
<member name="M:System.Web.Helpers.Json.Encode(System.Object)">
<summary>Converts a data object to a string that is in the JavaScript Object Notation (JSON) format.</summary>
<returns>Returns a string of data converted to the JSON format.</returns>
<param name="value">The data object to convert.</param>
</member>
<member name="M:System.Web.Helpers.Json.Write(System.Object,System.IO.TextWriter)">
<summary>Converts a data object to a string in JavaScript Object Notation (JSON) format and adds the string to the specified <see cref="T:System.IO.TextWriter" /> object.</summary>
<param name="value">The data object to convert.</param>
<param name="writer">The object that contains the converted JSON data.</param>
</member>
<member name="T:System.Web.Helpers.ObjectInfo">
<summary>Renders the property names and values of the specified object and any subobjects that it references.</summary>
</member>
<member name="M:System.Web.Helpers.ObjectInfo.Print(System.Object,System.Int32,System.Int32)">
<summary>Renders the property names and values of the specified object and any subobjects that it references.</summary>
<returns>For a simple variable, returns the type and the value. For an object that contains multiple items, returns the property name or key, and the value for each property.</returns>
<param name="value">The object to render information for.</param>
<param name="depth">Optional. Specifies the depth of nested subobjects to render information for. The default is 10.</param>
<param name="enumerationLength">Optional. Specifies the maximum number of characters that the method displays for object values. The default is 1000.</param>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="depth" /> is less than zero.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="enumerationLength" /> is less than or equal to zero.</exception>
</member>
<member name="T:System.Web.Helpers.ServerInfo">
<summary>Displays information about the Web server environment that hosts the current Web page.</summary>
</member>
<member name="M:System.Web.Helpers.ServerInfo.GetHtml">
<summary>Displays information about the Web server environment.</summary>
<returns>A string of name-value pairs that contains information about the Web server. </returns>
</member>
<member name="T:System.Web.Helpers.SortDirection">
<summary>Specifies the direction in which to sort a list of items.</summary>
</member>
<member name="F:System.Web.Helpers.SortDirection.Ascending">
<summary>Sort from smallest to largest. For example, from A to Z.</summary>
</member>
<member name="F:System.Web.Helpers.SortDirection.Descending">
<summary>Sort from largest to smallest. For example, from Z to A.</summary>
</member>
<member name="T:System.Web.Helpers.WebCache">
<summary>Provides a cache to store frequently accessed data.</summary>
</member>
<member name="M:System.Web.Helpers.WebCache.Get(System.String)">
<summary>Retrieves the specified item from the <see cref="T:System.Web.Helpers.WebCache" /> object.</summary>
<returns>The item retrieved from the cache, or null if the item is not found.</returns>
<param name="key">The identifier for the cache item to retrieve.</param>
</member>
<member name="M:System.Web.Helpers.WebCache.Remove(System.String)">
<summary>Removes the specified item from the <see cref="T:System.Web.Helpers.WebCache" /> object.</summary>
<returns>The item removed from the <see cref="T:System.Web.Helpers.WebCache" /> object. If the item is not found, returns null.</returns>
<param name="key">The identifier for the cache item to remove.</param>
</member>
<member name="M:System.Web.Helpers.WebCache.Set(System.String,System.Object,System.Int32,System.Boolean)">
<summary>Inserts an item into the <see cref="T:System.Web.Helpers.WebCache" /> object.</summary>
<param name="key">The identifier for the cache item.</param>
<param name="value">The data to insert into the cache.</param>
<param name="minutesToCache">Optional. The number of minutes to keep an item in the cache. The default is 20.</param>
<param name="slidingExpiration">Optional. true to indicate that the cache item expiration is reset each time the item is accessed, or false to indicate that the expiration is based on an absolute interval since the time that the item was added to the cache. The default is true, which means that, if you also use the default value for the <paramref name="minutesToCache" /> parameter, a cached item expires 20 minutes after it was last accessed.</param>
<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="minutesToCache" /> is less than or equal to zero.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Sliding expiration is enabled and the value of <paramref name="minutesToCache" /> is greater than a year.</exception>
</member>
<member name="T:System.Web.Helpers.WebGrid">
<summary>Displays data using an HTML table.</summary>
</member>
<member name="M:System.Web.Helpers.WebGrid.#ctor(System.Collections.Generic.IEnumerable{System.Object},System.Collections.Generic.IEnumerable{System.String},System.String,System.Int32,System.Boolean,System.Boolean,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.WebGrid" /> class.</summary>
<param name="source">The data to display.</param>
<param name="columnNames">A collection of data source column names. By default, this value is auto-populated.</param>
<param name="defaultSort">The column name that is used to sort the table by default.</param>
<param name="rowsPerPage">The number of rows that are displayed when paging is displayed. The default is 10.</param>
<param name="canPage">true to specify that the <see cref="T:System.Web.Helpers.WebGrid" /> object can display paging; otherwise false. The default is true. </param>
<param name="canSort">true to specify that the <see cref="T:System.Web.Helpers.WebGrid" /> object can sort based on column; otherwise, false. The default is true.</param>
<param name="ajaxUpdateContainerId">The ID of the HTML element in the <see cref="T:System.Web.Helpers.WebGrid" /> instance that is used for Ajax support in order in order to make partial page updates.</param>
<param name="ajaxUpdateCallback">The JavaScript function to call after the HTML element specified by the <see cref="P:System.Web.Helpers.WebGrid.AjaxUpdateContainerId" /> property has been updated.</param>
<param name="fieldNamePrefix">The prefix for query-string fields. This value is used in order to support multiple T:System.Web.Helpers.WebGrid objects on the same page.</param>
<param name="pageFieldName">The query-string field name for the page number.</param>
<param name="selectionFieldName">The query-string field name for the selected row number.</param>
<param name="sortFieldName">The query-string field name for the sort column.</param>
<param name="sortDirectionFieldName">The query-string field name for the sort direction.</param>
</member>
<member name="P:System.Web.Helpers.WebGrid.AjaxUpdateCallback">
<summary>Gets the name of the JavaScript function to call after the HTML element specified by the <see cref="P:System.Web.Helpers.WebGrid.AjaxUpdateContainerId" /> property has been updated.</summary>
<returns>The element name.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.AjaxUpdateContainerId">
<summary>Gets the ID of the HTML element in the <see cref="T:System.Web.Helpers.WebGrid" /> object that is used for Ajax support in order to make partial-page updates.</summary>
<returns>The element ID.</returns>
</member>
<member name="M:System.Web.Helpers.WebGrid.Bind(System.Collections.Generic.IEnumerable{System.Object},System.Collections.Generic.IEnumerable{System.String},System.Boolean,System.Int32)">
<summary>Binds the specified data to the <see cref="T:System.Web.Helpers.WebGrid" /> object.</summary>
<returns>The populated <see cref="T:System.Web.Helpers.WebGrid" /> object.</returns>
<param name="source">The data to display.</param>
<param name="columnNames">The names of the columns to bind.</param>
<param name="autoSortAndPage">true to enable sorting and paging; otherwise, false.</param>
<param name="rowCount">The number of rows to display for each page of data.</param>
</member>
<member name="M:System.Web.Helpers.WebGrid.Column(System.String,System.String,System.Func`2,System.Boolean,System.Object)">
<summary>Adds a column object to the <see cref="T:System.Web.Helpers.WebGrid" /> object.</summary>
<returns>A column object.</returns>
<param name="columnName">The name of the column.</param>
<param name="header">The header of the column.</param>
<param name="format">A string that specifies the formatting of the column.</param>
<param name="style">A string that specifies the style of the column.</param>
<param name="canSort">true if the column can be sorted; otherwise, false. The default is true.</param>
</member>
<member name="P:System.Web.Helpers.WebGrid.ColumnNames">
<summary>Gets a collection of column names from the data source.</summary>
<returns>The collection of column names.</returns>
</member>
<member name="M:System.Web.Helpers.WebGrid.Columns(System.Web.Helpers.WebGridColumn[])">
<summary>Adds a collection of column objects to the <see cref="T:System.Web.Helpers.WebGrid" /> object.</summary>
<returns>A set of columns.</returns>
<param name="columnSet">The columns to add.</param>
</member>
<member name="P:System.Web.Helpers.WebGrid.FieldNamePrefix">
<summary>Gets the prefix for query-string fields of a page.</summary>
<returns>The prefix for query-string fields.</returns>
</member>
<member name="M:System.Web.Helpers.WebGrid.GetContainerUpdateScript(System.String)">
<summary>Converts a URL into a jQuery Ajax call.</summary>
<returns>A script used as a jQuery Ajax call.</returns>
<param name="path">The URL to convert.</param>
</member>
<member name="M:System.Web.Helpers.WebGrid.GetHtml(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.Boolean,System.String,System.Collections.Generic.IEnumerable{System.Web.Helpers.WebGridColumn},System.Collections.Generic.IEnumerable{System.String},System.Web.Helpers.WebGridPagerModes,System.String,System.String,System.String,System.String,System.Int32,System.Object)">
<summary>Returns HTML that is used to render the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The HTML that represents the populated <see cref="T:System.Web.Helpers.WebGrid" /> object.</returns>
<param name="tableStyle">The CSS class to use to style the table.</param>
<param name="headerStyle">The CSS class to use to style the header row of the table.</param>
<param name="footerStyle">The CSS class to use to style the footer row of the table.</param>
<param name="rowStyle">The CSS class to use to style each row of the table.</param>
<param name="alternatingRowStyle">The CSS class to use to style the even rows of the table.</param>
<param name="selectedRowStyle">The CSS class to use to style the selected rows of the table.</param>
<param name="caption">The caption for the table.</param>
<param name="displayHeader">true to specify that the header of the table is displayed; otherwise, false. The default is true.</param>
<param name="fillEmptyRows">true to specify that the table can add empty rows to ensure the <see cref="P:System.Web.Helpers.WebGrid.RowsPerPage" /> row count is maintained; otherise, false. The default is false.</param>
<param name="emptyRowCellValue">The text that is used to populate empty rows. The <paramref name="fillEmptyRows" /> parameter must be set to true to display this value.</param>
<param name="columns">The column model for customizing column rendering.</param>
<param name="exclusions">The columns to exclude when auto-populating columns.</param>
<param name="mode">A <see cref="T:System.Web.Helpers.WebGridPagerModes" /> value specifying the mode for rendering paging support.</param>
<param name="firstText">The text for the link to the first page.</param>
<param name="previousText">The text for the link to the previous page.</param>
<param name="nextText">The text for the link to the next page.</param>
<param name="lastText">The text for the link to the last page.</param>
<param name="numericLinksCount">The number of numeric links to display.</param>
<param name="htmlAttributes">An object that contains the HTML attributes to set for the element.</param>
</member>
<member name="M:System.Web.Helpers.WebGrid.GetPageUrl(System.Int32)">
<summary>Returns the URL of the page that the <see cref="T:System.Web.Helpers.WebGrid" /> object will display based on the specified page index.</summary>
<returns>The URL of the page that the <see cref="T:System.Web.Helpers.WebGrid" /> object will display.</returns>
<param name="pageIndex">The index of the page to display.</param>
</member>
<member name="M:System.Web.Helpers.WebGrid.GetSortUrl(System.String)">
<summary>Returns a URL used to display the sorted data in the <see cref="T:System.Web.Helpers.WebGrid" /> object based on a column name.</summary>
<returns>The url used to display the sorted data.</returns>
<param name="column">The name of the column to sort the grid by.</param>
</member>
<member name="P:System.Web.Helpers.WebGrid.HasSelection">
<summary>Gets a value that determines whether any row in the <see cref="T:System.Web.Helpers.WebGrid" /> object has been selected.</summary>
<returns>true if a row has been selected; otherwise, false.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.PageCount">
<summary>Gets the number of pages that the <see cref="T:System.Web.Helpers.WebGrid" /> object has available to display.</summary>
<returns>The page count.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.PageFieldName">
<summary>Gets the query string field name for the page number of the WebGrid.</summary>
<returns>The column name.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.PageIndex">
<summary>Gets or sets the index of the current page to display.</summary>
<returns>The current page index.</returns>
</member>
<member name="M:System.Web.Helpers.WebGrid.Pager(System.Web.Helpers.WebGridPagerModes,System.String,System.String,System.String,System.String,System.Int32)">
<summary>Returns the HTML that is required to provide paging support.</summary>
<param name="mode">A <see cref="T:System.Web.Helpers.WebGridPagerModes" /> value that specifies paging support.</param>
<param name="firstText">The text for the link to the first page.</param>
<param name="previousText">The text for the link to the previous page.</param>
<param name="nextText">The text for the link to the next page.</param>
<param name="lastText">The test for the link to the last page.</param>
<param name="numericLinksCount">The number of numeric links to display.</param>
</member>
<member name="P:System.Web.Helpers.WebGrid.Rows">
<summary>Gets a list of rows that are in the <see cref="T:System.Web.Helpers.WebGrid" /> object.</summary>
<returns>The collection of rows.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.RowsPerPage">
<summary>Gets the number of rows to display on each page.</summary>
<returns>The row count for a page.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SelectedIndex">
<summary>Gets or sets the index of the selected row.</summary>
<returns>The row index.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SelectedRow">
<summary>Gets the selected row of the <see cref="T:System.Web.Helpers.WebGrid" /> object.</summary>
<returns>The selected row.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SelectionFieldName">
<summary>Gets the query string field name for the selected row number of the WebGrid.</summary>
<returns>The name of the selected column.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SortColumn">
<summary>Gets or sets the name of the column that is used to sort the <see cref="T:System.Web.Helpers.WebGrid" /> object.</summary>
<returns>The name of the sort column.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SortDirection">
<summary>Gets or sets the direction that the <see cref="T:System.Web.Helpers.WebGrid" /> object is sorted.</summary>
<returns>The sort direction.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SortDirectionFieldName">
<summary>Gets the query string field name for the sort direction of the WebGrid. </summary>
<returns>The column prefix and name.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SortFieldName">
<summary>Gets the query string field name for the sort column of the WebGrid. </summary>
<returns>The sort column name.</returns>
</member>
<member name="M:System.Web.Helpers.WebGrid.Table(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.Boolean,System.String,System.Collections.Generic.IEnumerable{System.Web.Helpers.WebGridColumn},System.Collections.Generic.IEnumerable{System.String},System.Func`2,System.Boolean)">
<summary>Returns the HTML that is used to render the <see cref="T:System.Web.Helpers.WebGrid" /> instance that supports paging.</summary>
<returns>The HTML that represents the populated <see cref="T:System.Web.Helpers.WebGrid" /> object.</returns>
<param name="tableStyle">The CSS class to use to style the table.</param>
<param name="headerStyle">The CSS class to use to style the header row.</param>
<param name="footerStyle">The CSS class to use to style the footer row.</param>
<param name="rowStyle">The CSS class to use to style odd rows.</param>
<param name="alternatingRowStyle">The CSS class to use to style even rows.</param>
<param name="selectedRowStyle">The CSS class used to use to style the selected row.</param>
<param name="caption">The caption for the table.</param>
<param name="displayHeader">true to specify that the header of the table is displayed; otherwise, false. The default is true.</param>
<param name="fillEmptyRows">true to specify that the table can add empty rows to ensure the <see cref="P:System.Web.Helpers.WebGrid.RowsPerPage" /> row count is maintained; otherise, false. The default is false.</param>
<param name="emptyRowCellValue">The text that is used to populate empty rows. The <paramref name="fillEmptyRows" /> parameter must be set to true to display this value.</param>
<param name="columns">The column model that is used to customize column rendering.</param>
<param name="exclusions">The columns to exclude when auto-populating columns.</param>
<param name="footer">The table footer template.</param>
<param name="htmlAttributes">An object that contains the HTML attributes to set for the element.</param>
</member>
<member name="P:System.Web.Helpers.WebGrid.TotalRowCount">
<summary>Gets the total row count for the <see cref="T:System.Web.Helpers.WebGrid" /> object.</summary>
<returns>The row count.</returns>
</member>
<member name="T:System.Web.Helpers.WebGridColumn"></member>
<member name="M:System.Web.Helpers.WebGridColumn.#ctor"></member>
<member name="P:System.Web.Helpers.WebGridColumn.CanSort"></member>
<member name="P:System.Web.Helpers.WebGridColumn.ColumnName"></member>
<member name="P:System.Web.Helpers.WebGridColumn.Format"></member>
<member name="P:System.Web.Helpers.WebGridColumn.Header"></member>
<member name="P:System.Web.Helpers.WebGridColumn.Style"></member>
<member name="T:System.Web.Helpers.WebGridPagerModes"></member>
<member name="F:System.Web.Helpers.WebGridPagerModes.Numeric">
<summary />
</member>
<member name="F:System.Web.Helpers.WebGridPagerModes.NextPrevious">
<summary />
</member>
<member name="F:System.Web.Helpers.WebGridPagerModes.FirstLast">
<summary />
</member>
<member name="F:System.Web.Helpers.WebGridPagerModes.All">
<summary />
</member>
<member name="T:System.Web.Helpers.WebGridRow"></member>
<member name="M:System.Web.Helpers.WebGridRow.#ctor(System.Web.Helpers.WebGrid,System.Object,System.Int32)"></member>
<member name="M:System.Web.Helpers.WebGridRow.GetEnumerator"></member>
<member name="M:System.Web.Helpers.WebGridRow.GetSelectLink(System.String)"></member>
<member name="M:System.Web.Helpers.WebGridRow.GetSelectUrl"></member>
<member name="P:System.Web.Helpers.WebGridRow.Item(System.Int32)"></member>
<member name="P:System.Web.Helpers.WebGridRow.Item(System.String)"></member>
<member name="M:System.Web.Helpers.WebGridRow.System#Collections#IEnumerable#GetEnumerator"></member>
<member name="M:System.Web.Helpers.WebGridRow.ToString"></member>
<member name="M:System.Web.Helpers.WebGridRow.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)"></member>
<member name="P:System.Web.Helpers.WebGridRow.Value"></member>
<member name="P:System.Web.Helpers.WebGridRow.WebGrid"></member>
<member name="T:System.Web.Helpers.WebImage">
<summary>Represents an object that lets you display and manage images in in a Web page.</summary>
</member>
<member name="M:System.Web.Helpers.WebImage.#ctor(System.Byte[])">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.WebImage" /> class using a byte array to represent the image.</summary>
<param name="content">The image.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.#ctor(System.IO.Stream)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.WebImage" /> class using a stream to represent the image.</summary>
<param name="imageStream">The image.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.WebImage" /> class using a path to represent the image location.</summary>
<param name="filePath">The path of the file that contains the image.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.AddImageWatermark(System.String,System.Int32,System.Int32,System.String,System.String,System.Int32,System.Int32)">
<summary>Adds a watermark image to the image using the specified image file.</summary>
<returns>The image.</returns>
<param name="watermarkImageFilePath">The path of a file that contains the image.</param>
<param name="width">The width, in pixels, of the watermark image.</param>
<param name="height">The height, in pixels, of the watermark image.</param>
<param name="horizontalAlign">The horizontal alignment for watermark image. Values can be left, right, or center.</param>
<param name="verticalAlign">The vertical alignment for the watermark image. Values can be top, bottom, or middle.</param>
<param name="opacity">The opacity for the watermark image, specified as a value between 0 and 100.</param>
<param name="padding">The size, in pixels, of the padding around the watermark image.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.AddImageWatermark(System.Web.Helpers.WebImage,System.Int32,System.Int32,System.String,System.String,System.Int32,System.Int32)">
<summary>Adds a watermark image to the image using the specified <see cref="T:System.Web.Helpers.WebImage" /> object.</summary>
<returns>The image.</returns>
<param name="watermarkImage">A <see cref="T:System.Web.Helpers.WebImage" /> object.</param>
<param name="width">The width, in pixels, of the watermark image.</param>
<param name="height">The height, in pixels, of the watermark image.</param>
<param name="horizontalAlign">The horizontal alignment for watermark image. Values can be left, right, or center.</param>
<param name="verticalAlign">The vertical alignment for the watermark image. Values can be top, bottom, or middle.</param>
<param name="opacity">The opacity for the watermark image specifies as a value between 0 and 100.</param>
<param name="padding">The size, in pixels, of the padding around the watermark image.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.AddTextWatermark(System.String,System.String,System.Int32,System.String,System.String,System.String,System.String,System.Int32,System.Int32)">
<summary>Adds watermark text to the image.</summary>
<returns>The image.</returns>
<param name="text">The text to use as a watermark.</param>
<param name="fontColor">The color of the watermark text.</param>
<param name="fontSize">The font size of the watermark text.</param>
<param name="fontStyle">The font style of the watermark text.</param>
<param name="fontFamily">The font type of the watermark text.</param>
<param name="horizontalAlign">The horizontal alignment for watermark text. Values can be left, right, or center.</param>
<param name="verticalAlign">The vertical alignment for the watermark text. Values can be top, bottom, or middle.</param>
<param name="opacity">The text opacity for the watermark text specified as a value between 0 and 100.</param>
<param name="padding">The size, in pixels, of the padding around the watermark text.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.Clone">
<summary>Copies the <see cref="T:System.Web.Helpers.WebImage" /> object.</summary>
<returns>The image.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.Crop(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>Crops an image.</summary>
<returns>The cropped image.</returns>
<param name="top">The number of pixels to remove from the top.</param>
<param name="left">The number of pixels to remove from the left.</param>
<param name="bottom">The number of pixels to remove from the bottom.</param>
<param name="right">The number of pixels to remove from the right.</param>
</member>
<member name="P:System.Web.Helpers.WebImage.FileName">
<summary>Gets or sets the name of the file used by the <see cref="T:System.Web.Helpers.WebImage" /> object.</summary>
<returns>The file name</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.FlipHorizontal">
<summary>Flips an image horizontally.</summary>
<returns>The flipped image.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.FlipVertical">
<summary>Flips an image vertically.</summary>
<returns>The flipped image.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.GetBytes(System.String)">
<summary>Returns the image as a byte array.</summary>
<returns>The image.</returns>
<param name="requestedFormat">The <see cref="P:System.Web.Helpers.WebImage.ImageFormat" /> of the <see cref="T:System.Web.Helpers.WebImage" /> object.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.GetImageFromRequest(System.String)">
<summary>Returns an image that has been uploaded using the browser.</summary>
<returns>The image.</returns>
<param name="postedFileName">(Optional) The name of the file that has been posted.</param>
</member>
<member name="P:System.Web.Helpers.WebImage.Height">
<summary>Gets the height, in pixels, of the image.</summary>
<returns>The height.</returns>
</member>
<member name="P:System.Web.Helpers.WebImage.ImageFormat">
<summary>Gets the format of the image (for example, JPEG or PNG).</summary>
<returns>The format.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.Resize(System.Int32,System.Int32,System.Boolean,System.Boolean)">
<summary>Resizes an image.</summary>
<returns>The resized image.</returns>
<param name="width">The width, in pixels, of the <see cref="T:System.Web.Helpers.WebImage" /> object.</param>
<param name="height">The height, in pixels, of the <see cref="T:System.Web.Helpers.WebImage" /> object.</param>
<param name="preserveAspectRatio">true to preserve the aspect ratio of the image; otherwise, false.</param>
<param name="preventEnlarge">true to prevent the enlargement of the image; otherwise, false.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.RotateLeft">
<summary>Rotates an image to the left.</summary>
<returns>The rotated image.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.RotateRight">
<summary>Rotates an image to the right.</summary>
<returns>The rotated image.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.Save(System.String,System.String,System.Boolean)">
<summary>Saves the image using the specified file name.</summary>
<returns>The image.</returns>
<param name="filePath">The path to save the image to.</param>
<param name="imageFormat">The format used when saving the image file.</param>
<param name="forceCorrectExtension">true to force that the correct file extension is used for the format specified in <paramref name="imageFormat" />; otherwise, false.</param>
</member>
<member name="P:System.Web.Helpers.WebImage.Width">
<summary>Gets the width, in pixels, of the image.</summary>
<returns>The width.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.Write(System.String)">
<summary>Renders an image to the browser to be displayed.</summary>
<returns>The image.</returns>
<param name="requestedFormat">(Optional) The file format.</param>
</member>
<member name="T:System.Web.Helpers.WebMail">
<summary>Provides a way to construct and send an email message using Simple Mail Transfer Protocol (SMTP).</summary>
</member>
<member name="P:System.Web.Helpers.WebMail.EnableSsl">
<summary>Gets or sets whether Secure Sockets Layer (SSL) is used to encrypt the connection when sending email.</summary>
<returns>true if SSL is used to encrypt the connection; otherwise, false.</returns>
</member>
<member name="P:System.Web.Helpers.WebMail.From">
<summary>Gets or sets the email address of the sender.</summary>
<returns>The email address of the sender.</returns>
</member>
<member name="P:System.Web.Helpers.WebMail.Password">
<summary>Gets or sets the senders password based on the email account used.</summary>
<returns>The password of the sender.</returns>
</member>
<member name="M:System.Web.Helpers.WebMail.Send(System.String,System.String,System.String,System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.Boolean,System.Collections.Generic.IEnumerable{System.String})">
<summary>Sends the specified message to an SMTP server for delivery.</summary>
<param name="to">The recipients of this email message. Multiple recipients can be specified by separating them using a semicolon (;).</param>
<param name="subject">The subject line for the email message.</param>
<param name="body">The body of the email message. If <paramref name="isBodyHtml" /> is true, HTML in the body is interpreted as markup.</param>
<param name="from">The email address of the message sender.</param>
<param name="cc">The carbon copy (CC) recipients for the email message, if any.</param>
<param name="filesToAttach">A collection of file names that specifies the files to attach to the email message.</param>
<param name="isBodyHtml">true to specify that the email message body is in HTML format; false to indicate that the body is in plain-text format.</param>
<param name="additionalHeaders">A collection of headers that are sent with this email message.</param>
</member>
<member name="P:System.Web.Helpers.WebMail.SmtpPort">
<summary>Gets or sets the port used for SMTP transactions.</summary>
<returns>The port used for SMTP transactions.</returns>
</member>
<member name="P:System.Web.Helpers.WebMail.SmtpServer">
<summary>Gets or sets the SMTP server used to transmit the email message.</summary>
<returns>The SMTP server.</returns>
</member>
<member name="P:System.Web.Helpers.WebMail.SmtpUseDefaultCredentials">
<summary>Gets or sets a value that indicates whether the default credentials are sent with the requests.</summary>
<returns>true if credentials are sent with the email message; otherwise, false.</returns>
</member>
<member name="P:System.Web.Helpers.WebMail.UserName">
<summary>Gets or sets the name of email account name used to send email.</summary>
<returns>The name of the user.</returns>
</member>
</members>
</doc>

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -1,866 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>System.Web.Razor</name>
</assembly>
<members>
<member name="T:System.Web.Razor.CSharpRazorCodeLanguage"></member>
<member name="M:System.Web.Razor.CSharpRazorCodeLanguage.#ctor"></member>
<member name="P:System.Web.Razor.CSharpRazorCodeLanguage.CodeDomProviderType"></member>
<member name="M:System.Web.Razor.CSharpRazorCodeLanguage.CreateCodeGenerator(System.String,System.String,System.String,System.Web.Razor.RazorEngineHost)"></member>
<member name="M:System.Web.Razor.CSharpRazorCodeLanguage.CreateCodeParser"></member>
<member name="P:System.Web.Razor.CSharpRazorCodeLanguage.LanguageName"></member>
<member name="T:System.Web.Razor.DocumentParseCompleteEventArgs"></member>
<member name="M:System.Web.Razor.DocumentParseCompleteEventArgs.#ctor"></member>
<member name="P:System.Web.Razor.DocumentParseCompleteEventArgs.GeneratorResults"></member>
<member name="P:System.Web.Razor.DocumentParseCompleteEventArgs.SourceChange"></member>
<member name="P:System.Web.Razor.DocumentParseCompleteEventArgs.TreeStructureChanged"></member>
<member name="T:System.Web.Razor.GeneratorResults"></member>
<member name="M:System.Web.Razor.GeneratorResults.#ctor(System.Boolean,System.Web.Razor.Parser.SyntaxTree.Block,System.Collections.Generic.IList{System.Web.Razor.Parser.SyntaxTree.RazorError},System.CodeDom.CodeCompileUnit,System.Collections.Generic.IDictionary{System.Int32,System.Web.Razor.Generator.GeneratedCodeMapping})"></member>
<member name="M:System.Web.Razor.GeneratorResults.#ctor(System.Web.Razor.Parser.SyntaxTree.Block,System.Collections.Generic.IList{System.Web.Razor.Parser.SyntaxTree.RazorError},System.CodeDom.CodeCompileUnit,System.Collections.Generic.IDictionary{System.Int32,System.Web.Razor.Generator.GeneratedCodeMapping})"></member>
<member name="M:System.Web.Razor.GeneratorResults.#ctor(System.Web.Razor.ParserResults,System.CodeDom.CodeCompileUnit,System.Collections.Generic.IDictionary{System.Int32,System.Web.Razor.Generator.GeneratedCodeMapping})"></member>
<member name="P:System.Web.Razor.GeneratorResults.DesignTimeLineMappings"></member>
<member name="P:System.Web.Razor.GeneratorResults.GeneratedCode"></member>
<member name="T:System.Web.Razor.ParserResults"></member>
<member name="M:System.Web.Razor.ParserResults.#ctor(System.Boolean,System.Web.Razor.Parser.SyntaxTree.Block,System.Collections.Generic.IList{System.Web.Razor.Parser.SyntaxTree.RazorError})"></member>
<member name="M:System.Web.Razor.ParserResults.#ctor(System.Web.Razor.Parser.SyntaxTree.Block,System.Collections.Generic.IList{System.Web.Razor.Parser.SyntaxTree.RazorError})"></member>
<member name="P:System.Web.Razor.ParserResults.Document"></member>
<member name="P:System.Web.Razor.ParserResults.ParserErrors"></member>
<member name="P:System.Web.Razor.ParserResults.Success"></member>
<member name="T:System.Web.Razor.PartialParseResult"></member>
<member name="F:System.Web.Razor.PartialParseResult.Rejected">
<summary />
</member>
<member name="F:System.Web.Razor.PartialParseResult.Accepted">
<summary />
</member>
<member name="F:System.Web.Razor.PartialParseResult.Provisional">
<summary />
</member>
<member name="F:System.Web.Razor.PartialParseResult.SpanContextChanged">
<summary />
</member>
<member name="F:System.Web.Razor.PartialParseResult.AutoCompleteBlock">
<summary />
</member>
<member name="T:System.Web.Razor.RazorCodeLanguage"></member>
<member name="M:System.Web.Razor.RazorCodeLanguage.#ctor"></member>
<member name="P:System.Web.Razor.RazorCodeLanguage.CodeDomProviderType"></member>
<member name="M:System.Web.Razor.RazorCodeLanguage.CreateCodeGenerator(System.String,System.String,System.String,System.Web.Razor.RazorEngineHost)"></member>
<member name="M:System.Web.Razor.RazorCodeLanguage.CreateCodeParser"></member>
<member name="M:System.Web.Razor.RazorCodeLanguage.GetLanguageByExtension(System.String)"></member>
<member name="P:System.Web.Razor.RazorCodeLanguage.LanguageName"></member>
<member name="P:System.Web.Razor.RazorCodeLanguage.Languages"></member>
<member name="T:System.Web.Razor.RazorEditorParser"></member>
<member name="M:System.Web.Razor.RazorEditorParser.#ctor(System.Web.Razor.RazorEngineHost,System.String)"></member>
<member name="M:System.Web.Razor.RazorEditorParser.CheckForStructureChanges(System.Web.Razor.Text.TextChange)"></member>
<member name="P:System.Web.Razor.RazorEditorParser.CurrentParseTree"></member>
<member name="M:System.Web.Razor.RazorEditorParser.Dispose"></member>
<member name="M:System.Web.Razor.RazorEditorParser.Dispose(System.Boolean)"></member>
<member name="E:System.Web.Razor.RazorEditorParser.DocumentParseComplete"></member>
<member name="M:System.Web.Razor.RazorEditorParser.GetAutoCompleteString"></member>
<member name="M:System.Web.Razor.RazorEditorParser.ProcessChange(System.Threading.CancellationToken,System.Web.Razor.Text.TextChange,System.Web.Razor.Parser.SyntaxTree.Block)"></member>
<member name="M:System.Web.Razor.RazorEditorParser.QueueFullReparse(System.Web.Razor.Text.TextChange)"></member>
<member name="T:System.Web.Razor.RazorEngineHost"></member>
<member name="M:System.Web.Razor.RazorEngineHost.#ctor"></member>
<member name="M:System.Web.Razor.RazorEngineHost.#ctor(System.Web.Razor.RazorCodeLanguage)"></member>
<member name="M:System.Web.Razor.RazorEngineHost.#ctor(System.Web.Razor.RazorCodeLanguage,System.Func`1)"></member>
<member name="P:System.Web.Razor.RazorEngineHost.CodeLanguage"></member>
<member name="M:System.Web.Razor.RazorEngineHost.CreateMarkupParser"></member>
<member name="M:System.Web.Razor.RazorEngineHost.DecorateCodeGenerator(System.Web.Razor.Generator.RazorCodeGenerator)"></member>
<member name="M:System.Web.Razor.RazorEngineHost.DecorateCodeParser(System.Web.Razor.Parser.ParserBase)"></member>
<member name="M:System.Web.Razor.RazorEngineHost.DecorateMarkupParser(System.Web.Razor.Parser.MarkupParser)"></member>
<member name="P:System.Web.Razor.RazorEngineHost.DefaultBaseClass"></member>
<member name="P:System.Web.Razor.RazorEngineHost.DefaultClassName"></member>
<member name="P:System.Web.Razor.RazorEngineHost.DefaultNamespace"></member>
<member name="P:System.Web.Razor.RazorEngineHost.DesignTimeMode"></member>
<member name="P:System.Web.Razor.RazorEngineHost.GeneratedClassContext"></member>
<member name="P:System.Web.Razor.RazorEngineHost.NamespaceImports"></member>
<member name="M:System.Web.Razor.RazorEngineHost.PostProcessGeneratedCode(System.CodeDom.CodeCompileUnit,System.CodeDom.CodeNamespace,System.CodeDom.CodeTypeDeclaration,System.CodeDom.CodeMemberMethod)"></member>
<member name="P:System.Web.Razor.RazorEngineHost.StaticHelpers"></member>
<member name="T:System.Web.Razor.RazorTemplateEngine"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.#ctor(System.Web.Razor.RazorEngineHost)"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.CreateCodeGenerator(System.String,System.String,System.String)"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.CreateParser"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.GenerateCode(System.IO.TextReader)"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.GenerateCode(System.IO.TextReader,System.Nullable{System.Threading.CancellationToken})"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.GenerateCode(System.IO.TextReader,System.String,System.String,System.String)"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.GenerateCode(System.IO.TextReader,System.String,System.String,System.String,System.Nullable{System.Threading.CancellationToken})"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.GenerateCode(System.Web.Razor.Text.ITextBuffer)"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.GenerateCode(System.Web.Razor.Text.ITextBuffer,System.Nullable{System.Threading.CancellationToken})"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.GenerateCode(System.Web.Razor.Text.ITextBuffer,System.String,System.String,System.String)"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.GenerateCode(System.Web.Razor.Text.ITextBuffer,System.String,System.String,System.String,System.Nullable{System.Threading.CancellationToken})"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.GenerateCodeCore(System.Web.Razor.Text.LookaheadTextReader,System.String,System.String,System.String,System.Nullable{System.Threading.CancellationToken})"></member>
<member name="P:System.Web.Razor.RazorTemplateEngine.Host"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.ParseTemplate(System.IO.TextReader)"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.ParseTemplate(System.IO.TextReader,System.Nullable{System.Threading.CancellationToken})"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.ParseTemplate(System.Web.Razor.Text.ITextBuffer)"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.ParseTemplate(System.Web.Razor.Text.ITextBuffer,System.Nullable{System.Threading.CancellationToken})"></member>
<member name="M:System.Web.Razor.RazorTemplateEngine.ParseTemplateCore(System.Web.Razor.Text.LookaheadTextReader,System.Nullable{System.Threading.CancellationToken})"></member>
<member name="T:System.Web.Razor.VBRazorCodeLanguage"></member>
<member name="M:System.Web.Razor.VBRazorCodeLanguage.#ctor"></member>
<member name="P:System.Web.Razor.VBRazorCodeLanguage.CodeDomProviderType"></member>
<member name="M:System.Web.Razor.VBRazorCodeLanguage.CreateCodeGenerator(System.String,System.String,System.String,System.Web.Razor.RazorEngineHost)"></member>
<member name="M:System.Web.Razor.VBRazorCodeLanguage.CreateCodeParser"></member>
<member name="P:System.Web.Razor.VBRazorCodeLanguage.LanguageName"></member>
<member name="T:System.Web.Razor.Generator.BaseCodeWriter"></member>
<member name="M:System.Web.Razor.Generator.BaseCodeWriter.#ctor"></member>
<member name="M:System.Web.Razor.Generator.BaseCodeWriter.EmitEndConstructor"></member>
<member name="M:System.Web.Razor.Generator.BaseCodeWriter.EmitEndLambdaExpression"></member>
<member name="M:System.Web.Razor.Generator.BaseCodeWriter.EmitEndMethodInvoke"></member>
<member name="M:System.Web.Razor.Generator.BaseCodeWriter.EmitStartMethodInvoke(System.String)"></member>
<member name="M:System.Web.Razor.Generator.BaseCodeWriter.WriteCommaSeparatedList``1(``0[],System.Action{``0})">
<typeparam name="T"></typeparam>
</member>
<member name="M:System.Web.Razor.Generator.BaseCodeWriter.WriteParameterSeparator"></member>
<member name="M:System.Web.Razor.Generator.BaseCodeWriter.WriteSnippet(System.String)"></member>
<member name="T:System.Web.Razor.Generator.CodeGenerationCompleteEventArgs"></member>
<member name="M:System.Web.Razor.Generator.CodeGenerationCompleteEventArgs.#ctor(System.String,System.String,System.CodeDom.CodeCompileUnit)"></member>
<member name="P:System.Web.Razor.Generator.CodeGenerationCompleteEventArgs.GeneratedCode"></member>
<member name="P:System.Web.Razor.Generator.CodeGenerationCompleteEventArgs.PhysicalPath"></member>
<member name="P:System.Web.Razor.Generator.CodeGenerationCompleteEventArgs.VirtualPath"></member>
<member name="T:System.Web.Razor.Generator.CodeWriter"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.#ctor"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.Clear"></member>
<member name="P:System.Web.Razor.Generator.CodeWriter.Content"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.Dispose"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.Dispose(System.Boolean)"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.EmitEndConstructor"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.EmitEndLambdaDelegate"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.EmitEndLambdaExpression"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.EmitEndMethodInvoke"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.EmitStartConstructor(System.String)"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.EmitStartLambdaDelegate(System.String[])"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.EmitStartLambdaExpression(System.String[])"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.EmitStartMethodInvoke(System.String)"></member>
<member name="P:System.Web.Razor.Generator.CodeWriter.InnerWriter"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.ToStatement"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.ToTypeMember"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteEndConstructor"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteEndLambdaDelegate"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteEndLambdaExpression"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteEndMethodInvoke"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteEndStatement"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteHelperHeaderPrefix(System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteHelperHeaderSuffix(System.String)"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteHelperTrailer"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteHiddenLinePragma"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteIdentifier(System.String)"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteLinePragma(System.Nullable{System.Int32},System.String)"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteParameterSeparator"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteReturn"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteSnippet(System.String)"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteStartAssignment(System.String)"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteStartConstructor(System.String)"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteStartLambdaDelegate(System.String[])"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteStartLambdaExpression(System.String[])"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteStartMethodInvoke(System.String)"></member>
<member name="M:System.Web.Razor.Generator.CodeWriter.WriteStringLiteral(System.String)"></member>
<member name="T:System.Web.Razor.Generator.CSharpCodeWriter"></member>
<member name="M:System.Web.Razor.Generator.CSharpCodeWriter.#ctor"></member>
<member name="M:System.Web.Razor.Generator.CSharpCodeWriter.EmitEndLambdaDelegate"></member>
<member name="M:System.Web.Razor.Generator.CSharpCodeWriter.EmitStartConstructor(System.String)"></member>
<member name="M:System.Web.Razor.Generator.CSharpCodeWriter.EmitStartLambdaDelegate(System.String[])"></member>
<member name="M:System.Web.Razor.Generator.CSharpCodeWriter.EmitStartLambdaExpression(System.String[])"></member>
<member name="M:System.Web.Razor.Generator.CSharpCodeWriter.WriteEndStatement"></member>
<member name="M:System.Web.Razor.Generator.CSharpCodeWriter.WriteHelperHeaderPrefix(System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Generator.CSharpCodeWriter.WriteHiddenLinePragma"></member>
<member name="M:System.Web.Razor.Generator.CSharpCodeWriter.WriteIdentifier(System.String)"></member>
<member name="M:System.Web.Razor.Generator.CSharpCodeWriter.WriteLinePragma(System.Nullable{System.Int32},System.String)"></member>
<member name="M:System.Web.Razor.Generator.CSharpCodeWriter.WriteReturn"></member>
<member name="M:System.Web.Razor.Generator.CSharpCodeWriter.WriteStringLiteral(System.String)"></member>
<member name="T:System.Web.Razor.Generator.CSharpRazorCodeGenerator"></member>
<member name="M:System.Web.Razor.Generator.CSharpRazorCodeGenerator.#ctor(System.String,System.String,System.String,System.Web.Razor.RazorEngineHost)"></member>
<member name="M:System.Web.Razor.Generator.CSharpRazorCodeGenerator.CreateCodeWriter"></member>
<member name="M:System.Web.Razor.Generator.CSharpRazorCodeGenerator.WriteHelperVariable(System.String,System.String)"></member>
<member name="T:System.Web.Razor.Generator.GeneratedClassContext"></member>
<member name="M:System.Web.Razor.Generator.GeneratedClassContext.#ctor(System.String,System.String,System.String)"></member>
<member name="M:System.Web.Razor.Generator.GeneratedClassContext.#ctor(System.String,System.String,System.String,System.String,System.String,System.String)"></member>
<member name="M:System.Web.Razor.Generator.GeneratedClassContext.#ctor(System.String,System.String,System.String,System.String,System.String,System.String,System.String)"></member>
<member name="P:System.Web.Razor.Generator.GeneratedClassContext.AllowSections"></member>
<member name="P:System.Web.Razor.Generator.GeneratedClassContext.AllowTemplates"></member>
<member name="F:System.Web.Razor.Generator.GeneratedClassContext.Default"></member>
<member name="F:System.Web.Razor.Generator.GeneratedClassContext.DefaultExecuteMethodName"></member>
<member name="F:System.Web.Razor.Generator.GeneratedClassContext.DefaultWriteLiteralMethodName"></member>
<member name="F:System.Web.Razor.Generator.GeneratedClassContext.DefaultWriteMethodName"></member>
<member name="P:System.Web.Razor.Generator.GeneratedClassContext.DefineSectionMethodName"></member>
<member name="M:System.Web.Razor.Generator.GeneratedClassContext.Equals(System.Object)"></member>
<member name="P:System.Web.Razor.Generator.GeneratedClassContext.ExecuteMethodName"></member>
<member name="M:System.Web.Razor.Generator.GeneratedClassContext.GetHashCode"></member>
<member name="M:System.Web.Razor.Generator.GeneratedClassContext.op_Equality(System.Web.Razor.Generator.GeneratedClassContext,System.Web.Razor.Generator.GeneratedClassContext)"></member>
<member name="M:System.Web.Razor.Generator.GeneratedClassContext.op_Inequality(System.Web.Razor.Generator.GeneratedClassContext,System.Web.Razor.Generator.GeneratedClassContext)"></member>
<member name="P:System.Web.Razor.Generator.GeneratedClassContext.TemplateTypeName"></member>
<member name="P:System.Web.Razor.Generator.GeneratedClassContext.WriteLiteralMethodName"></member>
<member name="P:System.Web.Razor.Generator.GeneratedClassContext.WriteLiteralToMethodName"></member>
<member name="P:System.Web.Razor.Generator.GeneratedClassContext.WriteMethodName"></member>
<member name="P:System.Web.Razor.Generator.GeneratedClassContext.WriteToMethodName"></member>
<member name="T:System.Web.Razor.Generator.GeneratedCodeMapping"></member>
<member name="M:System.Web.Razor.Generator.GeneratedCodeMapping.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)"></member>
<member name="P:System.Web.Razor.Generator.GeneratedCodeMapping.CodeLength"></member>
<member name="M:System.Web.Razor.Generator.GeneratedCodeMapping.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Generator.GeneratedCodeMapping.GetHashCode"></member>
<member name="M:System.Web.Razor.Generator.GeneratedCodeMapping.op_Equality(System.Web.Razor.Generator.GeneratedCodeMapping,System.Web.Razor.Generator.GeneratedCodeMapping)"></member>
<member name="M:System.Web.Razor.Generator.GeneratedCodeMapping.op_Inequality(System.Web.Razor.Generator.GeneratedCodeMapping,System.Web.Razor.Generator.GeneratedCodeMapping)"></member>
<member name="P:System.Web.Razor.Generator.GeneratedCodeMapping.StartColumn"></member>
<member name="P:System.Web.Razor.Generator.GeneratedCodeMapping.StartGeneratedColumn"></member>
<member name="P:System.Web.Razor.Generator.GeneratedCodeMapping.StartLine"></member>
<member name="T:System.Web.Razor.Generator.RazorCodeGenerator"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.#ctor(System.String,System.String,System.String,System.Web.Razor.RazorEngineHost)"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.ClassName"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.CodeMappings"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.CreateCodeWriter"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.CreateLinePragma(System.Web.Razor.Generator.RazorCodeGenerator.BlockContext)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.CreateLinePragma(System.Web.Razor.Text.SourceLocation,System.Int32,System.Int32)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.CreateStatement(System.Web.Razor.Generator.RazorCodeGenerator.BlockContext)"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.CurrentBlock"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.CurrentWriteLiteralMethod"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.CurrentWriteMethod"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.CurrentWriterName"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.DesignTimeMode"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.EndBlock(System.Web.Razor.Generator.RazorCodeGenerator.BlockContext)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.EnsureExpressionHelperVariable"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.GeneratedClass"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.GeneratedCode"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.GeneratedExecuteMethod"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.GeneratedNamespace"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.GenerateLinePragmas"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.HelperVariablesMethod"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.Host"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.InHelper"></member>
<member name="F:System.Web.Razor.Generator.RazorCodeGenerator.InheritsHelperName"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.InNestedWriterBlock"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.InSection"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.InTemplate"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.OnComplete"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.ResumeBlock(System.Web.Razor.Generator.RazorCodeGenerator.BlockContext,System.Web.Razor.Generator.RazorCodeGenerator.BlockContext)"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.RootNamespaceName"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.SourceFileName"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.StartBlock(System.Web.Razor.Generator.RazorCodeGenerator.BlockContext)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.SuspendBlock(System.Web.Razor.Generator.RazorCodeGenerator.BlockContext,System.Web.Razor.Generator.RazorCodeGenerator.BlockContext)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.TryVisit``1(System.Web.Razor.Parser.SyntaxTree.Span,System.Action{``0})">
<typeparam name="T"></typeparam>
</member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.TryVisitSpecialSpan(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.VisitEndBlock(System.Web.Razor.Parser.SyntaxTree.BlockType)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.VisitError(System.Web.Razor.Parser.SyntaxTree.RazorError)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.VisitSpan(System.Web.Razor.Parser.SyntaxTree.HelperFooterSpan)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.VisitSpan(System.Web.Razor.Parser.SyntaxTree.HelperHeaderSpan)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.VisitSpan(System.Web.Razor.Parser.SyntaxTree.InheritsSpan)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.VisitSpan(System.Web.Razor.Parser.SyntaxTree.NamespaceImportSpan)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.VisitSpan(System.Web.Razor.Parser.SyntaxTree.SectionHeaderSpan)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.VisitSpan(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.VisitStartBlock(System.Web.Razor.Parser.SyntaxTree.BlockType)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.WriteHelperTrailer(System.Web.Razor.Generator.RazorCodeGenerator.BlockContext)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.WriteHelperTrailer(System.Web.Razor.Generator.RazorCodeGenerator.BlockContext,System.Web.Razor.Parser.SyntaxTree.HelperFooterSpan)"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.WriteHelperVariable(System.String,System.String)"></member>
<member name="T:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.#ctor(System.Web.Razor.Parser.SyntaxTree.BlockType,System.Web.Razor.Generator.CodeWriter)"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.BlockType"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.GeneratedCodeLength"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.GeneratedCodeStart"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.GeneratedColumnOffset"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.HasContent"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.MarkEndGeneratedCode"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.MarkStartGeneratedCode"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.ResetBuffer"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.SourceCodeStart"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.VisitedSpans"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.VisitSpan(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.WriteLinePragma"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.BlockContext.Writer"></member>
<member name="T:System.Web.Razor.Generator.RazorCodeGenerator.HelperContext"></member>
<member name="M:System.Web.Razor.Generator.RazorCodeGenerator.HelperContext.#ctor"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.HelperContext.Content"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.HelperContext.TrailerWritten"></member>
<member name="P:System.Web.Razor.Generator.RazorCodeGenerator.HelperContext.WroteHelperPrefix"></member>
<member name="T:System.Web.Razor.Generator.VBCodeWriter"></member>
<member name="M:System.Web.Razor.Generator.VBCodeWriter.#ctor"></member>
<member name="M:System.Web.Razor.Generator.VBCodeWriter.EmitEndLambdaDelegate"></member>
<member name="M:System.Web.Razor.Generator.VBCodeWriter.EmitStartConstructor(System.String)"></member>
<member name="M:System.Web.Razor.Generator.VBCodeWriter.EmitStartLambdaDelegate(System.String[])"></member>
<member name="M:System.Web.Razor.Generator.VBCodeWriter.EmitStartLambdaExpression(System.String[])"></member>
<member name="M:System.Web.Razor.Generator.VBCodeWriter.WriteEndStatement"></member>
<member name="M:System.Web.Razor.Generator.VBCodeWriter.WriteHelperHeaderPrefix(System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Generator.VBCodeWriter.WriteHelperHeaderSuffix(System.String)"></member>
<member name="M:System.Web.Razor.Generator.VBCodeWriter.WriteHelperTrailer"></member>
<member name="M:System.Web.Razor.Generator.VBCodeWriter.WriteLinePragma(System.Nullable{System.Int32},System.String)"></member>
<member name="M:System.Web.Razor.Generator.VBCodeWriter.WriteReturn"></member>
<member name="M:System.Web.Razor.Generator.VBCodeWriter.WriteStringLiteral(System.String)"></member>
<member name="T:System.Web.Razor.Generator.VBRazorCodeGenerator"></member>
<member name="M:System.Web.Razor.Generator.VBRazorCodeGenerator.#ctor(System.String,System.String,System.String,System.Web.Razor.RazorEngineHost)"></member>
<member name="M:System.Web.Razor.Generator.VBRazorCodeGenerator.CreateCodeWriter"></member>
<member name="M:System.Web.Razor.Generator.VBRazorCodeGenerator.VisitSpan(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="M:System.Web.Razor.Generator.VBRazorCodeGenerator.VisitSpan(System.Web.Razor.Parser.SyntaxTree.VBOptionSpan)"></member>
<member name="M:System.Web.Razor.Generator.VBRazorCodeGenerator.WriteHelperVariable(System.String,System.String)"></member>
<member name="T:System.Web.Razor.Parser.CallbackVisitor"></member>
<member name="M:System.Web.Razor.Parser.CallbackVisitor.#ctor(System.Action{System.Web.Razor.Parser.SyntaxTree.Span})"></member>
<member name="M:System.Web.Razor.Parser.CallbackVisitor.#ctor(System.Action{System.Web.Razor.Parser.SyntaxTree.Span},System.Action{System.Web.Razor.Parser.SyntaxTree.RazorError})"></member>
<member name="M:System.Web.Razor.Parser.CallbackVisitor.#ctor(System.Action{System.Web.Razor.Parser.SyntaxTree.Span},System.Action{System.Web.Razor.Parser.SyntaxTree.RazorError},System.Action{System.Web.Razor.Parser.SyntaxTree.BlockType},System.Action{System.Web.Razor.Parser.SyntaxTree.BlockType})"></member>
<member name="M:System.Web.Razor.Parser.CallbackVisitor.#ctor(System.Action{System.Web.Razor.Parser.SyntaxTree.Span},System.Action{System.Web.Razor.Parser.SyntaxTree.RazorError},System.Action{System.Web.Razor.Parser.SyntaxTree.BlockType},System.Action{System.Web.Razor.Parser.SyntaxTree.BlockType},System.Action)"></member>
<member name="M:System.Web.Razor.Parser.CallbackVisitor.OnComplete"></member>
<member name="P:System.Web.Razor.Parser.CallbackVisitor.SynchronizationContext"></member>
<member name="M:System.Web.Razor.Parser.CallbackVisitor.VisitEndBlock(System.Web.Razor.Parser.SyntaxTree.BlockType)"></member>
<member name="M:System.Web.Razor.Parser.CallbackVisitor.VisitError(System.Web.Razor.Parser.SyntaxTree.RazorError)"></member>
<member name="M:System.Web.Razor.Parser.CallbackVisitor.VisitSpan(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="M:System.Web.Razor.Parser.CallbackVisitor.VisitStartBlock(System.Web.Razor.Parser.SyntaxTree.BlockType)"></member>
<member name="T:System.Web.Razor.Parser.CodeBlockInfo"></member>
<member name="M:System.Web.Razor.Parser.CodeBlockInfo.#ctor(System.String,System.Web.Razor.Text.SourceLocation,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.CodeBlockInfo.#ctor(System.String,System.Web.Razor.Text.SourceLocation,System.Boolean,System.Web.Razor.Parser.SyntaxTree.Span,System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="P:System.Web.Razor.Parser.CodeBlockInfo.BlockType"></member>
<member name="P:System.Web.Razor.Parser.CodeBlockInfo.InitialSpan"></member>
<member name="P:System.Web.Razor.Parser.CodeBlockInfo.IsTopLevel"></member>
<member name="P:System.Web.Razor.Parser.CodeBlockInfo.Name"></member>
<member name="M:System.Web.Razor.Parser.CodeBlockInfo.ResumeSpans(System.Web.Razor.Parser.ParserContext)"></member>
<member name="P:System.Web.Razor.Parser.CodeBlockInfo.Start"></member>
<member name="P:System.Web.Razor.Parser.CodeBlockInfo.TransitionSpan"></member>
<member name="T:System.Web.Razor.Parser.CodeParser"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.#ctor"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.AcceptDottedExpression(System.Boolean,System.Boolean,System.Char[])"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.AcceptGenericArgument"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.AcceptTypeName"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.AcceptTypeName(System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.AcceptUntilUnquoted(System.Predicate{System.Char})"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.AcceptWhiteSpaceByLines"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.BalanceBrackets"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.BalanceBrackets(System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.BalanceBrackets(System.Boolean,System.Web.Razor.Parser.SyntaxTree.SpanFactory)"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.BalanceBrackets(System.Boolean,System.Web.Razor.Parser.SyntaxTree.SpanFactory,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.BalanceBrackets(System.Boolean,System.Web.Razor.Parser.SyntaxTree.SpanFactory,System.Boolean,System.Char)"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.BalanceBrackets(System.Boolean,System.Web.Razor.Parser.SyntaxTree.SpanFactory,System.Boolean,System.Nullable{System.Char},System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.CreateImplicitExpressionSpan(System.Web.Razor.Parser.ParserContext,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.HandleTransition(System.Web.Razor.Parser.SyntaxTree.SpanFactory)"></member>
<member name="P:System.Web.Razor.Parser.CodeParser.OtherParser"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.ParseBlockStart(System.Boolean,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.RequireSingleWhiteSpace"></member>
<member name="P:System.Web.Razor.Parser.CodeParser.TopLevelKeywords"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.TryAcceptStringOrComment"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.TryRecover(System.Boolean,System.Web.Razor.Parser.SyntaxTree.SpanFactory)"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.TryRecover(System.Web.Razor.Parser.RecoveryModes)"></member>
<member name="M:System.Web.Razor.Parser.CodeParser.TryRecover(System.Web.Razor.Parser.RecoveryModes,System.Predicate{System.Char},System.Boolean,System.Web.Razor.Parser.SyntaxTree.SpanFactory)"></member>
<member name="T:System.Web.Razor.Parser.CodeParser.BlockParser"></member>
<member name="T:System.Web.Razor.Parser.CSharpCodeParser"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.#ctor"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.AcceptGenericArgument"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.AcceptWhiteSpaceAndComments"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.HandleReservedWord(System.Web.Razor.Parser.CodeBlockInfo)"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.HandleTransition(System.Web.Razor.Parser.SyntaxTree.SpanFactory)"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.IsAtExplicitTransition"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.IsAtImplicitTransition"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.ParseBlock"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.ParseCaseBlock(System.Web.Razor.Parser.CodeBlockInfo)"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.ParseConditionalBlockStatement(System.Web.Razor.Parser.CodeBlockInfo)"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.ParseControlFlowBody(System.Web.Razor.Parser.CodeBlockInfo)"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.ParseDoStatement(System.Web.Razor.Parser.CodeBlockInfo)"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.ParseIfStatement(System.Web.Razor.Parser.CodeBlockInfo)"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.ParseImplicitExpression(System.Web.Razor.Parser.CodeBlockInfo)"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.ParseImplicitExpression(System.Web.Razor.Parser.CodeBlockInfo,System.Boolean,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.ParseInheritsStatement(System.Web.Razor.Parser.CodeBlockInfo)"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.ParseInvalidMarkupSwitch"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.ParseStatement(System.Web.Razor.Parser.CodeBlockInfo)"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.ParseTryStatement(System.Web.Razor.Parser.CodeBlockInfo)"></member>
<member name="P:System.Web.Razor.Parser.CSharpCodeParser.RazorKeywords"></member>
<member name="P:System.Web.Razor.Parser.CSharpCodeParser.TopLevelKeywords"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.TryAcceptStringOrComment"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.TryRecover(System.Boolean,System.Web.Razor.Parser.SyntaxTree.SpanFactory)"></member>
<member name="M:System.Web.Razor.Parser.CSharpCodeParser.WrapSimpleBlockParser(System.Web.Razor.Parser.SyntaxTree.BlockType,System.Web.Razor.Parser.CodeParser.BlockParser)"></member>
<member name="T:System.Web.Razor.Parser.HtmlMarkupParser"></member>
<member name="M:System.Web.Razor.Parser.HtmlMarkupParser.#ctor"></member>
<member name="M:System.Web.Razor.Parser.HtmlMarkupParser.IsAtExplicitTransition"></member>
<member name="M:System.Web.Razor.Parser.HtmlMarkupParser.IsAtImplicitTransition"></member>
<member name="M:System.Web.Razor.Parser.HtmlMarkupParser.IsEndTag"></member>
<member name="M:System.Web.Razor.Parser.HtmlMarkupParser.IsStartTag"></member>
<member name="M:System.Web.Razor.Parser.HtmlMarkupParser.ParseBlock"></member>
<member name="M:System.Web.Razor.Parser.HtmlMarkupParser.ParseDocument"></member>
<member name="M:System.Web.Razor.Parser.HtmlMarkupParser.ParseSection(System.Tuple`2,System.Boolean)"></member>
<member name="T:System.Web.Razor.Parser.MarkupParser"></member>
<member name="M:System.Web.Razor.Parser.MarkupParser.#ctor"></member>
<member name="M:System.Web.Razor.Parser.MarkupParser.IsEndTag"></member>
<member name="M:System.Web.Razor.Parser.MarkupParser.IsStartTag"></member>
<member name="P:System.Web.Razor.Parser.MarkupParser.OtherParser"></member>
<member name="M:System.Web.Razor.Parser.MarkupParser.ParseDocument"></member>
<member name="M:System.Web.Razor.Parser.MarkupParser.ParseSection(System.Tuple`2,System.Boolean)"></member>
<member name="T:System.Web.Razor.Parser.ParserBase"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.#ctor"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.AcceptLineWithBlockComments(System.Web.Razor.Parser.ParserContext,System.Web.Razor.Parser.SyntaxTree.SpanFactory)"></member>
<member name="P:System.Web.Razor.Parser.ParserBase.Context"></member>
<member name="P:System.Web.Razor.Parser.ParserBase.CurrentCharacter"></member>
<member name="P:System.Web.Razor.Parser.ParserBase.CurrentLocation"></member>
<member name="P:System.Web.Razor.Parser.ParserBase.DesignTimeMode"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.End(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.End(System.Web.Razor.Parser.SyntaxTree.SpanFactory)"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.EndBlock"></member>
<member name="P:System.Web.Razor.Parser.ParserBase.EndOfFile"></member>
<member name="P:System.Web.Razor.Parser.ParserBase.HaveContent"></member>
<member name="P:System.Web.Razor.Parser.ParserBase.InTemporaryBuffer"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.IsAtExplicitTransition"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.IsAtImplicitTransition"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.IsAtTransition"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.NextIsTransition(System.Boolean,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.OnError(System.Web.Razor.Text.SourceLocation,System.String)"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.OnError(System.Web.Razor.Text.SourceLocation,System.String,System.Object[])"></member>
<member name="P:System.Web.Razor.Parser.ParserBase.OtherParser"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.Output(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.ParseBlock"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.ParseBlockWithOtherParser(System.Web.Razor.Parser.SyntaxTree.SpanFactory)"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.ParseBlockWithOtherParser(System.Web.Razor.Parser.SyntaxTree.SpanFactory,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.ParseComment"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.StartBlock(System.Web.Razor.Parser.SyntaxTree.BlockType)"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.StartBlock(System.Web.Razor.Parser.SyntaxTree.BlockType,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserBase.TryParseComment(System.Web.Razor.Parser.SyntaxTree.SpanFactory)"></member>
<member name="T:System.Web.Razor.Parser.ParserContext"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.#ctor(System.Web.Razor.Text.LookaheadTextReader,System.Web.Razor.Parser.ParserBase,System.Web.Razor.Parser.MarkupParser,System.Web.Razor.Parser.ParserBase,System.Web.Razor.Parser.ParserVisitor)"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.AcceptCurrent"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.AcceptTemporaryBuffer"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.AcceptTemporaryBufferInDesignTimeMode"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.ActiveParser"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.Append(System.String)"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.CodeParser"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.ContentBuffer"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.CurrentCharacter"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.CurrentLocation"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.CurrentSpanStart"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.DesignTimeMode"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.EndBlock"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.EndOfFile"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.FlushNextOutputSpan"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.HaveContent"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.InTemporaryBuffer"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.IsEmailPrefixOrSuffixCharacter(System.Char)"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.MarkupParser"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.OnComplete"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.OnError(System.Web.Razor.Text.SourceLocation,System.String)"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.OnError(System.Web.Razor.Text.SourceLocation,System.String,System.Object[])"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.OutputSpan(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.PopVisitor"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.PreviousSpan"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.PreviousSpanCanGrow"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.PushVisitor(System.Web.Razor.Parser.ParserVisitor)"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.RejectTemporaryBuffer"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.Replay(System.Collections.Generic.IEnumerable{System.Web.Razor.Parser.SyntaxTree.SyntaxTreeNode},System.Collections.Generic.IEnumerable{System.Web.Razor.Parser.SyntaxTree.RazorError})"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.ResetBuffers"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.ResumeSpan(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.SeenValidEmailPrefix"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.SkipCurrent"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.Source"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.StartBlock(System.Web.Razor.Parser.SyntaxTree.BlockType,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.StartTemporaryBuffer"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.SwitchActiveParser"></member>
<member name="M:System.Web.Razor.Parser.ParserContext.UpdateSeenValidEmailPrefix"></member>
<member name="P:System.Web.Razor.Parser.ParserContext.WhiteSpaceIsImportantToAncestorBlock"></member>
<member name="T:System.Web.Razor.Parser.ParserContextExtensions"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Accept(System.Web.Razor.Parser.ParserContext,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Accept(System.Web.Razor.Parser.ParserContext,System.String,System.Boolean,System.Nullable{System.Web.Razor.Text.SourceLocation}@,System.Nullable{System.Char}@)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.AcceptCharacters(System.Web.Razor.Parser.ParserContext,System.Int32)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.AcceptIdentifier(System.Web.Razor.Parser.ParserContext)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.AcceptLine(System.Web.Razor.Parser.ParserContext,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.AcceptNewLine(System.Web.Razor.Parser.ParserContext)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.AcceptUntil(System.Web.Razor.Parser.ParserContext,System.Char[])"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.AcceptUntil(System.Web.Razor.Parser.ParserContext,System.Predicate{System.Char})"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.AcceptUntil(System.Web.Razor.Parser.ParserContext,System.Web.Razor.Text.SourceLocation)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.AcceptUntilInclusive(System.Web.Razor.Parser.ParserContext,System.Char[])"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.AcceptWhile(System.Web.Razor.Parser.ParserContext,System.Predicate{System.Char})"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.AcceptWhiteSpace(System.Web.Razor.Parser.ParserContext,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Expect(System.Web.Razor.Parser.ParserContext,System.Char)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Expect(System.Web.Razor.Parser.ParserContext,System.Char,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Expect(System.Web.Razor.Parser.ParserContext,System.Char,System.Boolean,System.String)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Expect(System.Web.Razor.Parser.ParserContext,System.Char,System.Boolean,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Expect(System.Web.Razor.Parser.ParserContext,System.Char,System.Boolean,System.String,System.Boolean,System.Nullable{System.Web.Razor.Text.SourceLocation})"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Expect(System.Web.Razor.Parser.ParserContext,System.String)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Expect(System.Web.Razor.Parser.ParserContext,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Expect(System.Web.Razor.Parser.ParserContext,System.String,System.Boolean,System.String)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Expect(System.Web.Razor.Parser.ParserContext,System.String,System.Boolean,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Expect(System.Web.Razor.Parser.ParserContext,System.String,System.Boolean,System.String,System.Boolean,System.Nullable{System.Web.Razor.Text.SourceLocation})"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.ExpectIdentifier(System.Web.Razor.Parser.ParserContext,System.String)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.ExpectIdentifier(System.Web.Razor.Parser.ParserContext,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.ExpectIdentifier(System.Web.Razor.Parser.ParserContext,System.String,System.Boolean,System.Nullable{System.Web.Razor.Text.SourceLocation})"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.Peek(System.Web.Razor.Parser.ParserContext,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.PeekAny(System.Web.Razor.Parser.ParserContext,System.Boolean,System.String[])"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.PeekAny(System.Web.Razor.Parser.ParserContext,System.String[])"></member>
<member name="M:System.Web.Razor.Parser.ParserContextExtensions.ReadWhiteSpace(System.Web.Razor.Parser.ParserContext,System.Boolean)"></member>
<member name="T:System.Web.Razor.Parser.ParserHelpers"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsCombining(System.Char)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsConnecting(System.Char)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsDecimalDigit(System.Char)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsFormatting(System.Char)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsHexDigit(System.Char)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsIdentifier(System.String)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsIdentifier(System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsIdentifierPart(System.Char)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsIdentifierStart(System.Char)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsLetter(System.Char)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsNewLine(System.Char)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsNewLine(System.String)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsTerminatingCharToken(System.Char)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.IsTerminatingQuotedStringToken(System.Char)"></member>
<member name="M:System.Web.Razor.Parser.ParserHelpers.SanitizeClassName(System.String)"></member>
<member name="T:System.Web.Razor.Parser.ParserVisitor"></member>
<member name="M:System.Web.Razor.Parser.ParserVisitor.#ctor"></member>
<member name="P:System.Web.Razor.Parser.ParserVisitor.CancelToken"></member>
<member name="M:System.Web.Razor.Parser.ParserVisitor.OnComplete"></member>
<member name="M:System.Web.Razor.Parser.ParserVisitor.ThrowIfCanceled"></member>
<member name="M:System.Web.Razor.Parser.ParserVisitor.VisitEndBlock(System.Web.Razor.Parser.SyntaxTree.BlockType)"></member>
<member name="M:System.Web.Razor.Parser.ParserVisitor.VisitError(System.Web.Razor.Parser.SyntaxTree.RazorError)"></member>
<member name="M:System.Web.Razor.Parser.ParserVisitor.VisitSpan(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="M:System.Web.Razor.Parser.ParserVisitor.VisitStartBlock(System.Web.Razor.Parser.SyntaxTree.BlockType)"></member>
<member name="T:System.Web.Razor.Parser.RazorParser"></member>
<member name="M:System.Web.Razor.Parser.RazorParser.#ctor(System.Web.Razor.Parser.ParserBase,System.Web.Razor.Parser.MarkupParser)"></member>
<member name="M:System.Web.Razor.Parser.RazorParser.CreateParseTask(System.IO.TextReader,System.Action{System.Web.Razor.Parser.SyntaxTree.Span},System.Action{System.Web.Razor.Parser.SyntaxTree.RazorError})"></member>
<member name="M:System.Web.Razor.Parser.RazorParser.CreateParseTask(System.IO.TextReader,System.Action{System.Web.Razor.Parser.SyntaxTree.Span},System.Action{System.Web.Razor.Parser.SyntaxTree.RazorError},System.Threading.CancellationToken)"></member>
<member name="M:System.Web.Razor.Parser.RazorParser.CreateParseTask(System.IO.TextReader,System.Action{System.Web.Razor.Parser.SyntaxTree.Span},System.Action{System.Web.Razor.Parser.SyntaxTree.RazorError},System.Threading.SynchronizationContext)"></member>
<member name="M:System.Web.Razor.Parser.RazorParser.CreateParseTask(System.IO.TextReader,System.Action{System.Web.Razor.Parser.SyntaxTree.Span},System.Action{System.Web.Razor.Parser.SyntaxTree.RazorError},System.Threading.SynchronizationContext,System.Threading.CancellationToken)"></member>
<member name="M:System.Web.Razor.Parser.RazorParser.CreateParseTask(System.IO.TextReader,System.Web.Razor.Parser.ParserVisitor)"></member>
<member name="P:System.Web.Razor.Parser.RazorParser.DesignTimeMode"></member>
<member name="F:System.Web.Razor.Parser.RazorParser.EndCommentSequence"></member>
<member name="M:System.Web.Razor.Parser.RazorParser.Parse(System.IO.TextReader)"></member>
<member name="M:System.Web.Razor.Parser.RazorParser.Parse(System.IO.TextReader,System.Web.Razor.Parser.ParserVisitor)"></member>
<member name="M:System.Web.Razor.Parser.RazorParser.Parse(System.Web.Razor.Text.LookaheadTextReader)"></member>
<member name="M:System.Web.Razor.Parser.RazorParser.Parse(System.Web.Razor.Text.LookaheadTextReader,System.Web.Razor.Parser.ParserVisitor)"></member>
<member name="F:System.Web.Razor.Parser.RazorParser.StartCommentSequence"></member>
<member name="F:System.Web.Razor.Parser.RazorParser.TransitionCharacter"></member>
<member name="F:System.Web.Razor.Parser.RazorParser.TransitionString"></member>
<member name="T:System.Web.Razor.Parser.RecoveryModes"></member>
<member name="F:System.Web.Razor.Parser.RecoveryModes.Markup">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.RecoveryModes.Code">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.RecoveryModes.Transition">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.RecoveryModes.Any">
<summary />
</member>
<member name="T:System.Web.Razor.Parser.VBCodeParser"></member>
<member name="M:System.Web.Razor.Parser.VBCodeParser.#ctor"></member>
<member name="M:System.Web.Razor.Parser.VBCodeParser.AcceptGenericArgument"></member>
<member name="M:System.Web.Razor.Parser.VBCodeParser.HandleReservedWord(System.Web.Razor.Parser.CodeBlockInfo)"></member>
<member name="M:System.Web.Razor.Parser.VBCodeParser.HandleTransition(System.Web.Razor.Parser.SyntaxTree.SpanFactory)"></member>
<member name="M:System.Web.Razor.Parser.VBCodeParser.IsAtExplicitTransition"></member>
<member name="M:System.Web.Razor.Parser.VBCodeParser.IsAtImplicitTransition"></member>
<member name="P:System.Web.Razor.Parser.VBCodeParser.KeywordHandlers"></member>
<member name="M:System.Web.Razor.Parser.VBCodeParser.ParseBlock"></member>
<member name="M:System.Web.Razor.Parser.VBCodeParser.ParseInheritsStatement(System.Web.Razor.Parser.CodeBlockInfo)"></member>
<member name="P:System.Web.Razor.Parser.VBCodeParser.TopLevelKeywords"></member>
<member name="M:System.Web.Razor.Parser.VBCodeParser.TryAcceptStringOrComment"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters"></member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters.None">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters.NewLine">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters.WhiteSpace">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters.NonWhiteSpace">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters.AllWhiteSpace">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters.Any">
<summary />
</member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.Block"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Block.#ctor(System.Web.Razor.Parser.SyntaxTree.BlockType,System.Collections.Generic.IEnumerable{System.Web.Razor.Parser.SyntaxTree.SyntaxTreeNode})"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Block.#ctor(System.Web.Razor.Parser.SyntaxTree.BlockType,System.Collections.Generic.IEnumerable{System.Web.Razor.Parser.SyntaxTree.SyntaxTreeNode},System.String)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Block.Accept(System.Web.Razor.Parser.ParserVisitor)"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Block.Children"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Block.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Block.FindFirstDescendentSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Block.FindLastDescendentSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Block.Flatten"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Block.GetHashCode"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Block.IsBlock"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Block.Length"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Block.LocateOwner(System.Web.Razor.Text.TextChange)"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Block.Name"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Block.Start"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Block.ToString"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Block.Type"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.BlockType"></member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.BlockType.Statement">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.BlockType.Directive">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.BlockType.Functions">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.BlockType.Expression">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.BlockType.Helper">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.BlockType.Markup">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.BlockType.Section">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.BlockType.Template">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.BlockType.Comment">
<summary />
</member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.CodeSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CodeSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CodeSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CodeSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CodeSpan.CanAcceptChange(System.Web.Razor.Text.TextChange)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CodeSpan.Create(System.Web.Razor.Parser.ParserContext)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CodeSpan.Create(System.Web.Razor.Parser.ParserContext,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CodeSpan.Create(System.Web.Razor.Parser.ParserContext,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CodeSpan.Create(System.Web.Razor.Parser.ParserContext,System.String)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CodeSpan.ToString"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.CommentSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CommentSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CommentSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CommentSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CommentSpan.Create(System.Web.Razor.Parser.ParserContext)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CommentSpan.Create(System.Web.Razor.Parser.ParserContext,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.CommentSpan.Create(System.Web.Razor.Parser.ParserContext,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.HelperFooterSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperFooterSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperFooterSpan.Create(System.Web.Razor.Parser.ParserContext)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperFooterSpan.Create(System.Web.Razor.Parser.ParserContext,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperFooterSpan.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperFooterSpan.GetHashCode"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperFooterSpan.ToString"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.HelperHeaderSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperHeaderSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperHeaderSpan.CanAcceptChange(System.Web.Razor.Text.TextChange)"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.HelperHeaderSpan.Complete"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperHeaderSpan.Create(System.Web.Razor.Parser.ParserContext,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperHeaderSpan.Create(System.Web.Razor.Parser.ParserContext,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperHeaderSpan.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperHeaderSpan.GetHashCode"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.HelperHeaderSpan.ToString"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.ImplicitExpressionSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.ImplicitExpressionSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Collections.Generic.ISet{System.String},System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.ImplicitExpressionSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Collections.Generic.ISet{System.String},System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.ImplicitExpressionSpan.CanAcceptChange(System.Web.Razor.Text.TextChange)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.ImplicitExpressionSpan.Create(System.Web.Razor.Parser.ParserContext,System.Collections.Generic.ISet{System.String},System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.ImplicitExpressionSpan.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.ImplicitExpressionSpan.GetHashCode"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.ImplicitExpressionSpan.ToString"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.InheritsSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.InheritsSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.String)"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.InheritsSpan.BaseClass"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.InheritsSpan.Create(System.Web.Razor.Parser.ParserContext,System.String)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.InheritsSpan.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.InheritsSpan.GetHashCode"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.InheritsSpan.ToString"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.MarkupSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MarkupSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MarkupSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MarkupSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MarkupSpan.Create(System.Web.Razor.Parser.ParserContext)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MarkupSpan.Create(System.Web.Razor.Parser.ParserContext,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MarkupSpan.Create(System.Web.Razor.Parser.ParserContext,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.MarkupSpan.DocumentLevel"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MarkupSpan.ToString"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.MetaCodeSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MetaCodeSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MetaCodeSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MetaCodeSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MetaCodeSpan.Create(System.Web.Razor.Parser.ParserContext)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MetaCodeSpan.Create(System.Web.Razor.Parser.ParserContext,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.MetaCodeSpan.Create(System.Web.Razor.Parser.ParserContext,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.NamespaceImportSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.NamespaceImportSpan.#ctor(System.Web.Razor.Parser.SyntaxTree.SpanKind,System.Web.Razor.Text.SourceLocation,System.String,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters,System.String,System.Int32)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.NamespaceImportSpan.Create(System.Web.Razor.Parser.ParserContext,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters,System.Web.Razor.Parser.SyntaxTree.SpanKind,System.String,System.Int32)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.NamespaceImportSpan.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.NamespaceImportSpan.GetHashCode"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.NamespaceImportSpan.Namespace"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.NamespaceImportSpan.NamespaceKeywordLength"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.NamespaceImportSpan.ToString"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.RazorError"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.RazorError.#ctor(System.String,System.Web.Razor.Text.SourceLocation)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.RazorError.#ctor(System.String,System.Web.Razor.Text.SourceLocation,System.Int32)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.RazorError.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.RazorError.Equals(System.Web.Razor.Parser.SyntaxTree.RazorError)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.RazorError.GetHashCode"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.RazorError.Length"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.RazorError.Location"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.RazorError.Message"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.RazorError.ToString"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.SectionHeaderSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SectionHeaderSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.String,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SectionHeaderSpan.CanAcceptChange(System.Web.Razor.Text.TextChange)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SectionHeaderSpan.Create(System.Web.Razor.Parser.ParserContext,System.String,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SectionHeaderSpan.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SectionHeaderSpan.GetHashCode"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.SectionHeaderSpan.SectionName"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SectionHeaderSpan.ToString"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.SingleLineMarkupSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SingleLineMarkupSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SingleLineMarkupSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SingleLineMarkupSpan.Create(System.Web.Razor.Parser.ParserContext)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SingleLineMarkupSpan.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SingleLineMarkupSpan.GetHashCode"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.Span"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.#ctor(System.Web.Razor.Parser.ParserContext,System.Web.Razor.Parser.SyntaxTree.SpanKind)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.#ctor(System.Web.Razor.Parser.ParserContext,System.Web.Razor.Parser.SyntaxTree.SpanKind,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.#ctor(System.Web.Razor.Parser.ParserContext,System.Web.Razor.Parser.SyntaxTree.SpanKind,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.#ctor(System.Web.Razor.Parser.SyntaxTree.SpanKind,System.Web.Razor.Text.SourceLocation,System.String)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.#ctor(System.Web.Razor.Parser.SyntaxTree.SpanKind,System.Web.Razor.Text.SourceLocation,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.#ctor(System.Web.Razor.Parser.SyntaxTree.SpanKind,System.Web.Razor.Text.SourceLocation,System.String,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.Accept(System.Web.Razor.Parser.ParserVisitor)"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Span.AcceptedCharacters"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.ApplyChange(System.Web.Razor.Text.TextChange)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.ApplyChange(System.Web.Razor.Text.TextChange,System.Boolean)"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Span.AutoCompleteString"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.CanAcceptChange(System.Web.Razor.Text.TextChange)"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Span.Content"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.GetHashCode"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.GetOldText(System.Web.Razor.Text.TextChange)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.GetSpanTypeName"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Span.Hidden"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.IsAtEndOfFirstLine(System.Web.Razor.Text.TextChange)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.IsAtEndOfSpan(System.Web.Razor.Text.TextChange)"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Span.IsBlock"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.IsEndDeletion(System.Web.Razor.Text.TextChange)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.IsEndInsertion(System.Web.Razor.Text.TextChange)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.IsEndReplace(System.Web.Razor.Text.TextChange)"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Span.Kind"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Span.Length"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Span.Next"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Span.Offset"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.OwnsChange(System.Web.Razor.Text.TextChange)"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Span.Previous"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.Span.Start"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.ToString"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.Span.TryMergeWith(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.SpanFactory"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.SpanKind"></member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.SpanKind.Transition">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.SpanKind.MetaCode">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.SpanKind.Comment">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.SpanKind.Code">
<summary />
</member>
<member name="F:System.Web.Razor.Parser.SyntaxTree.SpanKind.Markup">
<summary />
</member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeBuilderVisitor"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeBuilderVisitor.#ctor"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeBuilderVisitor.OnComplete"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeBuilderVisitor.Results"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeBuilderVisitor.VisitEndBlock(System.Web.Razor.Parser.SyntaxTree.BlockType)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeBuilderVisitor.VisitError(System.Web.Razor.Parser.SyntaxTree.RazorError)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeBuilderVisitor.VisitSpan(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeBuilderVisitor.VisitStartBlock(System.Web.Razor.Parser.SyntaxTree.BlockType)"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeNode"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeNode.#ctor"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeNode.Accept(System.Web.Razor.Parser.ParserVisitor)"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeNode.IsBlock"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeNode.Length"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeNode.Parent"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.SyntaxTreeNode.Start"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.TransitionSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.TransitionSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.TransitionSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.TransitionSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.TransitionSpan.Create(System.Web.Razor.Parser.ParserContext)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.TransitionSpan.Create(System.Web.Razor.Parser.ParserContext,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.TransitionSpan.Create(System.Web.Razor.Parser.ParserContext,System.Boolean,System.Web.Razor.Parser.SyntaxTree.AcceptedCharacters)"></member>
<member name="T:System.Web.Razor.Parser.SyntaxTree.VBOptionSpan"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.VBOptionSpan.#ctor(System.Web.Razor.Text.SourceLocation,System.String,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.VBOptionSpan.Create(System.Web.Razor.Parser.ParserContext,System.String,System.Boolean)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.VBOptionSpan.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.VBOptionSpan.GetHashCode"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.VBOptionSpan.OptionName"></member>
<member name="M:System.Web.Razor.Parser.SyntaxTree.VBOptionSpan.ToString"></member>
<member name="P:System.Web.Razor.Parser.SyntaxTree.VBOptionSpan.Value"></member>
<member name="T:System.Web.Razor.Text.BufferingTextReader"></member>
<member name="M:System.Web.Razor.Text.BufferingTextReader.#ctor(System.IO.TextReader)"></member>
<member name="M:System.Web.Razor.Text.BufferingTextReader.BeginLookahead"></member>
<member name="M:System.Web.Razor.Text.BufferingTextReader.CancelBacktrack"></member>
<member name="P:System.Web.Razor.Text.BufferingTextReader.CurrentCharacter"></member>
<member name="P:System.Web.Razor.Text.BufferingTextReader.CurrentLocation"></member>
<member name="M:System.Web.Razor.Text.BufferingTextReader.Dispose(System.Boolean)"></member>
<member name="M:System.Web.Razor.Text.BufferingTextReader.ExpandBuffer"></member>
<member name="M:System.Web.Razor.Text.BufferingTextReader.NextCharacter"></member>
<member name="M:System.Web.Razor.Text.BufferingTextReader.Peek"></member>
<member name="M:System.Web.Razor.Text.BufferingTextReader.Read"></member>
<member name="T:System.Web.Razor.Text.ITextBuffer"></member>
<member name="P:System.Web.Razor.Text.ITextBuffer.Length"></member>
<member name="M:System.Web.Razor.Text.ITextBuffer.Peek"></member>
<member name="P:System.Web.Razor.Text.ITextBuffer.Position"></member>
<member name="M:System.Web.Razor.Text.ITextBuffer.Read"></member>
<member name="T:System.Web.Razor.Text.LookaheadTextReader"></member>
<member name="M:System.Web.Razor.Text.LookaheadTextReader.#ctor"></member>
<member name="M:System.Web.Razor.Text.LookaheadTextReader.BeginLookahead"></member>
<member name="M:System.Web.Razor.Text.LookaheadTextReader.CancelBacktrack"></member>
<member name="P:System.Web.Razor.Text.LookaheadTextReader.CurrentLocation"></member>
<member name="T:System.Web.Razor.Text.SourceLocation"></member>
<member name="M:System.Web.Razor.Text.SourceLocation.#ctor(System.Int32,System.Int32,System.Int32)"></member>
<member name="P:System.Web.Razor.Text.SourceLocation.AbsoluteIndex"></member>
<member name="P:System.Web.Razor.Text.SourceLocation.CharacterIndex"></member>
<member name="M:System.Web.Razor.Text.SourceLocation.CompareTo(System.Web.Razor.Text.SourceLocation)"></member>
<member name="M:System.Web.Razor.Text.SourceLocation.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Text.SourceLocation.Equals(System.Web.Razor.Text.SourceLocation)"></member>
<member name="M:System.Web.Razor.Text.SourceLocation.GetHashCode"></member>
<member name="P:System.Web.Razor.Text.SourceLocation.LineIndex"></member>
<member name="M:System.Web.Razor.Text.SourceLocation.op_Equality(System.Web.Razor.Text.SourceLocation,System.Web.Razor.Text.SourceLocation)"></member>
<member name="M:System.Web.Razor.Text.SourceLocation.op_GreaterThan(System.Web.Razor.Text.SourceLocation,System.Web.Razor.Text.SourceLocation)"></member>
<member name="M:System.Web.Razor.Text.SourceLocation.op_Inequality(System.Web.Razor.Text.SourceLocation,System.Web.Razor.Text.SourceLocation)"></member>
<member name="M:System.Web.Razor.Text.SourceLocation.op_LessThan(System.Web.Razor.Text.SourceLocation,System.Web.Razor.Text.SourceLocation)"></member>
<member name="M:System.Web.Razor.Text.SourceLocation.ToString"></member>
<member name="F:System.Web.Razor.Text.SourceLocation.Zero"></member>
<member name="T:System.Web.Razor.Text.SourceLocationTracker"></member>
<member name="M:System.Web.Razor.Text.SourceLocationTracker.#ctor"></member>
<member name="M:System.Web.Razor.Text.SourceLocationTracker.#ctor(System.Web.Razor.Text.SourceLocation)"></member>
<member name="P:System.Web.Razor.Text.SourceLocationTracker.CurrentLocation"></member>
<member name="M:System.Web.Razor.Text.SourceLocationTracker.UpdateLocation(System.Char,System.Func`1)"></member>
<member name="M:System.Web.Razor.Text.SourceLocationTracker.UpdateLocation(System.String)"></member>
<member name="T:System.Web.Razor.Text.TextBufferReader"></member>
<member name="M:System.Web.Razor.Text.TextBufferReader.#ctor(System.Web.Razor.Text.ITextBuffer)"></member>
<member name="M:System.Web.Razor.Text.TextBufferReader.BeginLookahead"></member>
<member name="M:System.Web.Razor.Text.TextBufferReader.CancelBacktrack"></member>
<member name="P:System.Web.Razor.Text.TextBufferReader.CurrentLocation"></member>
<member name="M:System.Web.Razor.Text.TextBufferReader.Dispose(System.Boolean)"></member>
<member name="M:System.Web.Razor.Text.TextBufferReader.Peek"></member>
<member name="M:System.Web.Razor.Text.TextBufferReader.Read"></member>
<member name="T:System.Web.Razor.Text.TextChange"></member>
<member name="M:System.Web.Razor.Text.TextChange.#ctor(System.Int32,System.Int32,System.Web.Razor.Text.ITextBuffer,System.Int32,System.Int32,System.Web.Razor.Text.ITextBuffer)"></member>
<member name="M:System.Web.Razor.Text.TextChange.ApplyChange(System.String,System.Int32)"></member>
<member name="M:System.Web.Razor.Text.TextChange.ApplyChange(System.Web.Razor.Parser.SyntaxTree.Span)"></member>
<member name="M:System.Web.Razor.Text.TextChange.Equals(System.Object)"></member>
<member name="M:System.Web.Razor.Text.TextChange.GetHashCode"></member>
<member name="P:System.Web.Razor.Text.TextChange.IsDelete"></member>
<member name="P:System.Web.Razor.Text.TextChange.IsInsert"></member>
<member name="P:System.Web.Razor.Text.TextChange.IsReplace"></member>
<member name="P:System.Web.Razor.Text.TextChange.NewBuffer"></member>
<member name="P:System.Web.Razor.Text.TextChange.NewLength"></member>
<member name="P:System.Web.Razor.Text.TextChange.NewPosition"></member>
<member name="P:System.Web.Razor.Text.TextChange.NewText"></member>
<member name="M:System.Web.Razor.Text.TextChange.Normalize"></member>
<member name="P:System.Web.Razor.Text.TextChange.OldBuffer"></member>
<member name="P:System.Web.Razor.Text.TextChange.OldLength"></member>
<member name="P:System.Web.Razor.Text.TextChange.OldPosition"></member>
<member name="P:System.Web.Razor.Text.TextChange.OldText"></member>
<member name="M:System.Web.Razor.Text.TextChange.op_Equality(System.Web.Razor.Text.TextChange,System.Web.Razor.Text.TextChange)"></member>
<member name="M:System.Web.Razor.Text.TextChange.op_Inequality(System.Web.Razor.Text.TextChange,System.Web.Razor.Text.TextChange)"></member>
<member name="M:System.Web.Razor.Text.TextChange.ToString"></member>
<member name="T:System.Web.Razor.Text.TextChangeType"></member>
<member name="F:System.Web.Razor.Text.TextChangeType.Insert">
<summary />
</member>
<member name="F:System.Web.Razor.Text.TextChangeType.Remove">
<summary />
</member>
</members>
</doc>

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>System.Web.WebPages.Deployment</name>
</assembly>
<members>
<member name="T:System.Web.WebPages.Deployment.PreApplicationStartCode"></member>
<member name="M:System.Web.WebPages.Deployment.PreApplicationStartCode.Start"></member>
<member name="T:System.Web.WebPages.Deployment.WebPagesDeployment"></member>
<member name="F:System.Web.WebPages.Deployment.WebPagesDeployment.CacheKeyPrefix"></member>
<member name="M:System.Web.WebPages.Deployment.WebPagesDeployment.GetAssemblyPath(System.Version)"></member>
<member name="M:System.Web.WebPages.Deployment.WebPagesDeployment.GetVersion(System.String)"></member>
<member name="M:System.Web.WebPages.Deployment.WebPagesDeployment.IsEnabled(System.String)"></member>
<member name="M:System.Web.WebPages.Deployment.WebPagesDeployment.IsExplicitlyDisabled(System.String)"></member>
</members>
</doc>

@ -1,71 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>System.Web.WebPages.Razor</name>
</assembly>
<members>
<member name="T:System.Web.WebPages.Razor.PreApplicationStartCode"></member>
<member name="M:System.Web.WebPages.Razor.PreApplicationStartCode.Start"></member>
<member name="T:System.Web.WebPages.Razor.RazorBuildProvider"></member>
<member name="M:System.Web.WebPages.Razor.RazorBuildProvider.#ctor"></member>
<member name="M:System.Web.WebPages.Razor.RazorBuildProvider.AddVirtualPathDependency(System.String)"></member>
<member name="P:System.Web.WebPages.Razor.RazorBuildProvider.AssemblyBuilder"></member>
<member name="P:System.Web.WebPages.Razor.RazorBuildProvider.CodeCompilerType"></member>
<member name="E:System.Web.WebPages.Razor.RazorBuildProvider.CodeGenerationCompleted"></member>
<member name="E:System.Web.WebPages.Razor.RazorBuildProvider.CodeGenerationStarted"></member>
<member name="M:System.Web.WebPages.Razor.RazorBuildProvider.CreateHost"></member>
<member name="M:System.Web.WebPages.Razor.RazorBuildProvider.GenerateCode(System.Web.Compilation.AssemblyBuilder)"></member>
<member name="M:System.Web.WebPages.Razor.RazorBuildProvider.GetGeneratedType(System.CodeDom.Compiler.CompilerResults)"></member>
<member name="M:System.Web.WebPages.Razor.RazorBuildProvider.InternalOpenReader"></member>
<member name="P:System.Web.WebPages.Razor.RazorBuildProvider.VirtualPath"></member>
<member name="P:System.Web.WebPages.Razor.RazorBuildProvider.VirtualPathDependencies"></member>
<member name="T:System.Web.WebPages.Razor.WebCodeRazorHost"></member>
<member name="M:System.Web.WebPages.Razor.WebCodeRazorHost.#ctor(System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebCodeRazorHost.#ctor(System.String,System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebCodeRazorHost.GetClassName(System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebCodeRazorHost.PostProcessGeneratedCode(System.CodeDom.CodeCompileUnit,System.CodeDom.CodeNamespace,System.CodeDom.CodeTypeDeclaration,System.CodeDom.CodeMemberMethod)"></member>
<member name="T:System.Web.WebPages.Razor.WebPageRazorHost"></member>
<member name="M:System.Web.WebPages.Razor.WebPageRazorHost.#ctor(System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebPageRazorHost.#ctor(System.String,System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport(System.String)"></member>
<member name="P:System.Web.WebPages.Razor.WebPageRazorHost.CodeLanguage"></member>
<member name="M:System.Web.WebPages.Razor.WebPageRazorHost.CreateMarkupParser"></member>
<member name="P:System.Web.WebPages.Razor.WebPageRazorHost.DefaultBaseClass"></member>
<member name="P:System.Web.WebPages.Razor.WebPageRazorHost.DefaultClassName"></member>
<member name="P:System.Web.WebPages.Razor.WebPageRazorHost.DefaultDebugCompilation"></member>
<member name="P:System.Web.WebPages.Razor.WebPageRazorHost.DefaultPageBaseClass"></member>
<member name="M:System.Web.WebPages.Razor.WebPageRazorHost.GetClassName(System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebPageRazorHost.GetCodeLanguage"></member>
<member name="M:System.Web.WebPages.Razor.WebPageRazorHost.GetGlobalImports"></member>
<member name="P:System.Web.WebPages.Razor.WebPageRazorHost.IsSpecialPage"></member>
<member name="P:System.Web.WebPages.Razor.WebPageRazorHost.PhysicalPath"></member>
<member name="M:System.Web.WebPages.Razor.WebPageRazorHost.PostProcessGeneratedCode(System.CodeDom.CodeCompileUnit,System.CodeDom.CodeNamespace,System.CodeDom.CodeTypeDeclaration,System.CodeDom.CodeMemberMethod)"></member>
<member name="M:System.Web.WebPages.Razor.WebPageRazorHost.RegisterSpecialFile(System.String,System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebPageRazorHost.RegisterSpecialFile(System.String,System.Type)"></member>
<member name="P:System.Web.WebPages.Razor.WebPageRazorHost.VirtualPath"></member>
<member name="T:System.Web.WebPages.Razor.WebRazorHostFactory"></member>
<member name="M:System.Web.WebPages.Razor.WebRazorHostFactory.#ctor"></member>
<member name="M:System.Web.WebPages.Razor.WebRazorHostFactory.ApplyConfigurationToHost(System.Web.WebPages.Razor.Configuration.RazorPagesSection,System.Web.WebPages.Razor.WebPageRazorHost)"></member>
<member name="M:System.Web.WebPages.Razor.WebRazorHostFactory.CreateDefaultHost(System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebRazorHostFactory.CreateDefaultHost(System.String,System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebRazorHostFactory.CreateHost(System.String,System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfig(System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfig(System.String,System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfig(System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup,System.String)"></member>
<member name="M:System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfig(System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup,System.String,System.String)"></member>
<member name="T:System.Web.WebPages.Razor.Configuration.HostSection"></member>
<member name="M:System.Web.WebPages.Razor.Configuration.HostSection.#ctor"></member>
<member name="P:System.Web.WebPages.Razor.Configuration.HostSection.FactoryType"></member>
<member name="F:System.Web.WebPages.Razor.Configuration.HostSection.SectionName"></member>
<member name="T:System.Web.WebPages.Razor.Configuration.RazorPagesSection"></member>
<member name="M:System.Web.WebPages.Razor.Configuration.RazorPagesSection.#ctor"></member>
<member name="P:System.Web.WebPages.Razor.Configuration.RazorPagesSection.Namespaces"></member>
<member name="P:System.Web.WebPages.Razor.Configuration.RazorPagesSection.PageBaseType"></member>
<member name="F:System.Web.WebPages.Razor.Configuration.RazorPagesSection.SectionName"></member>
<member name="T:System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup"></member>
<member name="M:System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup.#ctor"></member>
<member name="F:System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup.GroupName"></member>
<member name="P:System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup.Host"></member>
<member name="P:System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup.Pages"></member>
</members>
</doc>

@ -1,884 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>System.Web.WebPages</name>
</assembly>
<members>
<member name="T:System.Web.Helpers.AntiForgery">
<summary>Helps prevent malicious scripts from submitting forged page requests.</summary>
</member>
<member name="M:System.Web.Helpers.AntiForgery.GetHtml">
<summary>Adds an authenticating token to a form to help protect against request forgery.</summary>
<returns>Returns a string that contains the encrypted token value in a hidden HTML field.</returns>
<exception cref="T:System.ArgumentException">The current <see cref="T:System.Web.HttpContext" /> object is null.</exception>
</member>
<member name="M:System.Web.Helpers.AntiForgery.GetHtml(System.Web.HttpContextBase,System.String,System.String,System.String)">
<summary>Adds an authenticating token to a form to help protect against request forgery, allowing callers to specify added authentication details.</summary>
<returns>Returns the encrypted token value in a hidden HTML field.</returns>
<param name="httpContext">The HTTP context data for a request.</param>
<param name="salt">An optional random string of characters (such as Z*7g1&amp;p4) that is used to add complexity to the encryption for extra safety. The default is a null string.</param>
<param name="domain">The domain of a Web application that a request is submitted from.</param>
<param name="path">The virtual root path of a Web application that a request is submitted from.</param>
<exception cref="T:System.ArgumentNullException">The supplied <see cref="T:System.Web.HttpContextBase" /> object is null.</exception>
</member>
<member name="M:System.Web.Helpers.AntiForgery.Validate">
<summary>Validates that input data from an HTML form field comes from the user who submitted the data.</summary>
<exception cref="T:System.ArgumentException">The current <see cref="T:System.Web.HttpContext" /> value is null.</exception>
<exception cref="T:System.Web.Helpers.HttpAntiForgeryException">The HTTP cookie token that accompanies a valid request is missing-or-The form token is missing.-or-The form token value does not match the cookie token value.-or-The form token value does not match the cookie token value.</exception>
</member>
<member name="M:System.Web.Helpers.AntiForgery.Validate(System.Web.HttpContextBase,System.String)">
<summary>Validates that input data from an HTML form field comes from the user who submitted the data, allowing callers to specify additional custom details for the validation.</summary>
<param name="salt">An optional random string of characters (such as Z*7g1&amp;p4) used to decrypt an authentication token created by the <see cref="T:System.Web.Helpers.AntiForgery" /> class. The default is a null string.</param>
<exception cref="T:System.ArgumentException">The current <see cref="T:System.Web.HttpContext" /> value is null.</exception>
<exception cref="T:System.Web.Helpers.HttpAntiForgeryException">The HTTP cookie token that accompanies a valid request is missing-or-The form token is missing.-or-The form token value does not match the cookie token value.-or-The form token value does not match the cookie token value.-or-The <paramref name="salt" /> value supplied does not match the <paramref name="salt" /> value used to create the form token.</exception>
</member>
<member name="T:System.Web.Helpers.UnvalidatedRequestValues">
<summary>Provides access to unvalidated values in the <see cref="T:System.Web.HttpRequest" /> object.</summary>
</member>
<member name="P:System.Web.Helpers.UnvalidatedRequestValues.Form">
<summary>Gets a collection of unvalidated Web form values.</summary>
<returns>An unvalidated collection of Web form values.</returns>
</member>
<member name="P:System.Web.Helpers.UnvalidatedRequestValues.Item(System.String)">
<summary>Gets an unvalidated object from a collection in the <see cref="T:System.Web.HttpRequest" /> object.</summary>
<returns>A member of a collection contained in the <see cref="T:System.Web.HttpRequest" /> object.</returns>
<param name="key">The name of the collection member to get.</param>
</member>
<member name="P:System.Web.Helpers.UnvalidatedRequestValues.QueryString">
<summary>Gets a collection of unvalidated query-string values.</summary>
<returns>A collection of unvalidated query-string values.</returns>
</member>
<member name="T:System.Web.Helpers.Validation">
<summary>Excludes fields of the Request object from being checked for potentially unsafe HTML markup.</summary>
</member>
<member name="M:System.Web.Helpers.Validation.Unvalidated(System.Web.HttpRequest)">
<summary>Returns an unvalidated version of form values or query-string values.</summary>
<returns>An <see cref="System.Web.Helpers.UnvalidatedRequestValues" /> object that contains unvalidated versions of the form and query string values.</returns>
<param name="request">The <see cref="T:System.Web.HttpRequest" /> object that contains values to exclude.</param>
</member>
<member name="M:System.Web.Helpers.Validation.Unvalidated(System.Web.HttpRequest,System.String)">
<summary>Returns an unvalidated value from the form or query string based on the field that has been requested.</summary>
<returns>A string that contains unvalidated text from the specified field or query-string value.</returns>
<param name="request">The <see cref="T:System.Web.HttpRequest" /> object that contains values to exclude from validation s</param>
<param name="key">The name of the field to exclude from validation.</param>
</member>
<member name="M:System.Web.Helpers.Validation.Unvalidated(System.Web.HttpRequestBase)">
<summary>Returns an unvalidated version of form values or query-string values.</summary>
<returns>An <see cref="System.Web.Helpers.UnvalidatedRequestValues" /> object that contains unvalidated versions of the form and query-string values.</returns>
<param name="request">The <see cref="T:System.Web.HttpRequest" /> object that contains values to exclude from validation.</param>
</member>
<member name="M:System.Web.Helpers.Validation.Unvalidated(System.Web.HttpRequestBase,System.String)">
<summary>Returns an unvalidated value from the form or query string based on the field that has been requested.</summary>
<returns>A string that contains unvalidated text from the specified field or query-string value.</returns>
<param name="request">The <see cref="T:System.Web.HttpRequestBase" /> object that contains values to exclude from validation.</param>
<param name="key">The name of the field to exclude from validation.</param>
</member>
<member name="T:System.Web.Mvc.HttpAntiForgeryException">
<summary>This class and its members support the .NET Framework infrastructure and are not intended to be used directly from your code.</summary>
</member>
<member name="M:System.Web.Mvc.HttpAntiForgeryException.#ctor">
<summary>This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.</summary>
</member>
<member name="M:System.Web.Mvc.HttpAntiForgeryException.#ctor(System.String)">
<summary>This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.</summary>
<param name="message">Details about the exception.</param>
</member>
<member name="M:System.Web.Mvc.HttpAntiForgeryException.#ctor(System.String,System.Exception)">
<summary>This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.</summary>
<param name="message">Details about the exception.</param>
<param name="innerException">An exception that occurred before the current exception.</param>
</member>
<member name="T:System.Web.Mvc.TagBuilder"></member>
<member name="M:System.Web.Mvc.TagBuilder.#ctor(System.String)"></member>
<member name="M:System.Web.Mvc.TagBuilder.AddCssClass(System.String)"></member>
<member name="P:System.Web.Mvc.TagBuilder.Attributes"></member>
<member name="M:System.Web.Mvc.TagBuilder.CreateSanitizedId(System.String)"></member>
<member name="M:System.Web.Mvc.TagBuilder.CreateSanitizedId(System.String,System.String)"></member>
<member name="M:System.Web.Mvc.TagBuilder.GenerateId(System.String)"></member>
<member name="P:System.Web.Mvc.TagBuilder.IdAttributeDotReplacement"></member>
<member name="P:System.Web.Mvc.TagBuilder.InnerHtml"></member>
<member name="M:System.Web.Mvc.TagBuilder.MergeAttribute(System.String,System.String)"></member>
<member name="M:System.Web.Mvc.TagBuilder.MergeAttribute(System.String,System.String,System.Boolean)"></member>
<member name="M:System.Web.Mvc.TagBuilder.MergeAttributes``2(System.Collections.Generic.IDictionary{``0,``1})">
<typeparam name="TKey"></typeparam>
<typeparam name="TValue"></typeparam>
</member>
<member name="M:System.Web.Mvc.TagBuilder.MergeAttributes``2(System.Collections.Generic.IDictionary{``0,``1},System.Boolean)">
<typeparam name="TKey"></typeparam>
<typeparam name="TValue"></typeparam>
</member>
<member name="M:System.Web.Mvc.TagBuilder.SetInnerText(System.String)"></member>
<member name="P:System.Web.Mvc.TagBuilder.TagName"></member>
<member name="M:System.Web.Mvc.TagBuilder.ToString"></member>
<member name="M:System.Web.Mvc.TagBuilder.ToString(System.Web.Mvc.TagRenderMode)"></member>
<member name="T:System.Web.Mvc.TagRenderMode">
<summary>Enumerates the modes that are available for rendering HTML tags.</summary>
</member>
<member name="F:System.Web.Mvc.TagRenderMode.Normal">
<summary>Represents normal mode.</summary>
</member>
<member name="F:System.Web.Mvc.TagRenderMode.StartTag">
<summary>Represents the start-tag mode.</summary>
</member>
<member name="F:System.Web.Mvc.TagRenderMode.EndTag">
<summary>Represents end-tag mode.</summary>
</member>
<member name="F:System.Web.Mvc.TagRenderMode.SelfClosing">
<summary>Represents self-closing-tag mode.</summary>
</member>
<member name="T:System.Web.WebPages.ApplicationPart"></member>
<member name="M:System.Web.WebPages.ApplicationPart.#ctor(System.Reflection.Assembly,System.String)"></member>
<member name="M:System.Web.WebPages.ApplicationPart.ProcessVirtualPath(System.Reflection.Assembly,System.String,System.String)"></member>
<member name="M:System.Web.WebPages.ApplicationPart.Register(System.Web.WebPages.ApplicationPart)"></member>
<member name="T:System.Web.WebPages.ApplicationStartPage"></member>
<member name="M:System.Web.WebPages.ApplicationStartPage.#ctor"></member>
<member name="P:System.Web.WebPages.ApplicationStartPage.Application"></member>
<member name="F:System.Web.WebPages.ApplicationStartPage.CacheKeyPrefix"></member>
<member name="P:System.Web.WebPages.ApplicationStartPage.Context"></member>
<member name="P:System.Web.WebPages.ApplicationStartPage.Markup"></member>
<member name="P:System.Web.WebPages.ApplicationStartPage.Output"></member>
<member name="F:System.Web.WebPages.ApplicationStartPage.StartPageVirtualPath"></member>
<member name="P:System.Web.WebPages.ApplicationStartPage.VirtualPath"></member>
<member name="M:System.Web.WebPages.ApplicationStartPage.Write(System.Object)"></member>
<member name="M:System.Web.WebPages.ApplicationStartPage.Write(System.Web.WebPages.HelperResult)"></member>
<member name="M:System.Web.WebPages.ApplicationStartPage.WriteLiteral(System.Object)"></member>
<member name="T:System.Web.WebPages.HelperPage"></member>
<member name="M:System.Web.WebPages.HelperPage.#ctor"></member>
<member name="P:System.Web.WebPages.HelperPage.App"></member>
<member name="P:System.Web.WebPages.HelperPage.AppState"></member>
<member name="P:System.Web.WebPages.HelperPage.Cache"></member>
<member name="P:System.Web.WebPages.HelperPage.Context"></member>
<member name="P:System.Web.WebPages.HelperPage.CurrentPage"></member>
<member name="M:System.Web.WebPages.HelperPage.Href(System.String,System.Object[])"></member>
<member name="P:System.Web.WebPages.HelperPage.Html"></member>
<member name="P:System.Web.WebPages.HelperPage.IsAjax"></member>
<member name="P:System.Web.WebPages.HelperPage.IsPost"></member>
<member name="P:System.Web.WebPages.HelperPage.Model"></member>
<member name="P:System.Web.WebPages.HelperPage.ModelState"></member>
<member name="P:System.Web.WebPages.HelperPage.Page"></member>
<member name="P:System.Web.WebPages.HelperPage.PageContext"></member>
<member name="P:System.Web.WebPages.HelperPage.PageData"></member>
<member name="P:System.Web.WebPages.HelperPage.Request"></member>
<member name="P:System.Web.WebPages.HelperPage.Response"></member>
<member name="P:System.Web.WebPages.HelperPage.Server"></member>
<member name="P:System.Web.WebPages.HelperPage.Session"></member>
<member name="P:System.Web.WebPages.HelperPage.UrlData"></member>
<member name="P:System.Web.WebPages.HelperPage.User"></member>
<member name="P:System.Web.WebPages.HelperPage.VirtualPath"></member>
<member name="M:System.Web.WebPages.HelperPage.WriteLiteralTo(System.IO.TextWriter,System.Object)"></member>
<member name="M:System.Web.WebPages.HelperPage.WriteLiteralTo(System.IO.TextWriter,System.Web.WebPages.HelperResult)"></member>
<member name="M:System.Web.WebPages.HelperPage.WriteTo(System.IO.TextWriter,System.Object)"></member>
<member name="M:System.Web.WebPages.HelperPage.WriteTo(System.IO.TextWriter,System.Web.WebPages.HelperResult)"></member>
<member name="T:System.Web.WebPages.HelperResult"></member>
<member name="M:System.Web.WebPages.HelperResult.#ctor(System.Action{System.IO.TextWriter})"></member>
<member name="M:System.Web.WebPages.HelperResult.ToHtmlString"></member>
<member name="M:System.Web.WebPages.HelperResult.ToString"></member>
<member name="M:System.Web.WebPages.HelperResult.WriteTo(System.IO.TextWriter)"></member>
<member name="T:System.Web.WebPages.HttpContextExtensions"></member>
<member name="M:System.Web.WebPages.HttpContextExtensions.RedirectLocal(System.Web.HttpContextBase,System.String)">
<summary>Redirects to the root of the Web site if the host is not local.</summary>
<param name="context">The HTTP context of the HTTP request.</param>
<param name="url">A locally hosted URL.</param>
</member>
<member name="M:System.Web.WebPages.HttpContextExtensions.RegisterForDispose(System.Web.HttpContextBase,System.IDisposable)"></member>
<member name="T:System.Web.WebPages.ITemplateFile"></member>
<member name="P:System.Web.WebPages.ITemplateFile.TemplateInfo"></member>
<member name="T:System.Web.WebPages.IVirtualPathFactory"></member>
<member name="M:System.Web.WebPages.IVirtualPathFactory.CreateInstance(System.String)"></member>
<member name="M:System.Web.WebPages.IVirtualPathFactory.Exists(System.String)"></member>
<member name="T:System.Web.WebPages.IWebPageRequestExecutor"></member>
<member name="M:System.Web.WebPages.IWebPageRequestExecutor.Execute(System.Web.WebPages.WebPage)"></member>
<member name="T:System.Web.WebPages.PageVirtualPathAttribute"></member>
<member name="M:System.Web.WebPages.PageVirtualPathAttribute.#ctor(System.String)"></member>
<member name="P:System.Web.WebPages.PageVirtualPathAttribute.VirtualPath"></member>
<member name="T:System.Web.WebPages.PreApplicationStartCode"></member>
<member name="M:System.Web.WebPages.PreApplicationStartCode.Start"></member>
<member name="T:System.Web.WebPages.RequestExtensions"></member>
<member name="M:System.Web.WebPages.RequestExtensions.IsUrlLocalToHost(System.Web.HttpRequestBase,System.String)"></member>
<member name="T:System.Web.WebPages.ResponseExtensions"></member>
<member name="M:System.Web.WebPages.ResponseExtensions.OutputCache(System.Web.HttpResponseBase,System.Int32,System.Boolean,System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String},System.Web.HttpCacheability)"></member>
<member name="M:System.Web.WebPages.ResponseExtensions.SetStatus(System.Web.HttpResponseBase,System.Int32)"></member>
<member name="M:System.Web.WebPages.ResponseExtensions.SetStatus(System.Web.HttpResponseBase,System.Net.HttpStatusCode)"></member>
<member name="M:System.Web.WebPages.ResponseExtensions.WriteBinary(System.Web.HttpResponseBase,System.Byte[])"></member>
<member name="M:System.Web.WebPages.ResponseExtensions.WriteBinary(System.Web.HttpResponseBase,System.Byte[],System.String)"></member>
<member name="T:System.Web.WebPages.SectionWriter"></member>
<member name="T:System.Web.WebPages.StartPage"></member>
<member name="M:System.Web.WebPages.StartPage.#ctor"></member>
<member name="P:System.Web.WebPages.StartPage.ChildPage"></member>
<member name="P:System.Web.WebPages.StartPage.Context"></member>
<member name="M:System.Web.WebPages.StartPage.ExecutePageHierarchy"></member>
<member name="M:System.Web.WebPages.StartPage.GetStartPage(System.Web.WebPages.WebPageRenderingBase,System.String,System.Collections.Generic.IEnumerable{System.String})"></member>
<member name="P:System.Web.WebPages.StartPage.Layout"></member>
<member name="P:System.Web.WebPages.StartPage.Page"></member>
<member name="P:System.Web.WebPages.StartPage.PageData"></member>
<member name="M:System.Web.WebPages.StartPage.RenderPage(System.String,System.Object[])"></member>
<member name="M:System.Web.WebPages.StartPage.RunPage"></member>
<member name="M:System.Web.WebPages.StartPage.Write(System.Object)"></member>
<member name="M:System.Web.WebPages.StartPage.Write(System.Web.WebPages.HelperResult)"></member>
<member name="M:System.Web.WebPages.StartPage.WriteLiteral(System.Object)"></member>
<member name="T:System.Web.WebPages.StringExtensions">
<summary>Provides utility methods for converting string values to other data types.</summary>
</member>
<member name="M:System.Web.WebPages.StringExtensions.As``1(System.String)">
<summary>Converts a string to a strongly typed value of the specified data type.</summary>
<returns>The converted value.</returns>
<param name="value">The value to convert.</param>
<typeparam name="TValue">The data type to convert to.</typeparam>
</member>
<member name="M:System.Web.WebPages.StringExtensions.As``1(System.String,``0)">
<summary>Converts a string to the specified data type and specifies a default value.</summary>
<returns>The converted value.</returns>
<param name="value">The value to convert.</param>
<param name="defaultValue">The value to return if <paramref name="value" /> is null.</param>
<typeparam name="TValue">The data type to convert to.</typeparam>
</member>
<member name="M:System.Web.WebPages.StringExtensions.AsBool(System.String)">
<summary>Converts a string to a Boolean (true/false) value.</summary>
<returns>The converted value.</returns>
<param name="value">The value to convert.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.AsBool(System.String,System.Boolean)">
<summary>Converts a string to a Boolean (true/false) value and specifies a default value.</summary>
<returns>The converted value.</returns>
<param name="value">The value to convert.</param>
<param name="defaultValue">The value to return if <paramref name="value" /> is null or an invalid value. The default is false.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.AsDateTime(System.String)">
<summary>Converts a string to a <see cref="T:System.DateTime" /> value.</summary>
<returns>The converted value.</returns>
<param name="value">The value to convert.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.AsDateTime(System.String,System.DateTime)">
<summary>Converts a string to a <see cref="T:System.DateTime" /> value and specifies a default value.</summary>
<returns>The converted value.</returns>
<param name="value">The value to convert.</param>
<param name="defaultValue">The value to return if <paramref name="value" /> is null or an invalid value. The default is the minimum time value on the system.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.AsDecimal(System.String)">
<summary>Converts a string to a <see cref="T:System.Decimal" /> number.</summary>
<returns>The converted value.</returns>
<param name="value">The value to convert.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.AsDecimal(System.String,System.Decimal)">
<summary>Converts a string to a <see cref="T:System.Decimal" /> number and specifies a default value.</summary>
<returns>The converted value.</returns>
<param name="value">The value to convert.</param>
<param name="defaultValue">The value to return if <paramref name="value" /> is null or invalid.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.AsFloat(System.String)">
<summary>Converts a string to a <see cref="T:System.Single" /> number.</summary>
<returns>The converted value.</returns>
<param name="value">The value to convert.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.AsFloat(System.String,System.Single)">
<summary>Converts a string to a <see cref="T:System.Single" /> number and specifies a default value.</summary>
<returns>The converted value.</returns>
<param name="value">The value to convert.</param>
<param name="defaultValue">The value to return if <paramref name="value" /> is null.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.AsInt(System.String)">
<summary>Converts a string to an integer.</summary>
<returns>The converted value.</returns>
<param name="value">The value to convert.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.AsInt(System.String,System.Int32)">
<summary>Converts a string to an integer and specifies a default value.</summary>
<returns>The converted value.</returns>
<param name="value">The value to convert.</param>
<param name="defaultValue">The value to return if <paramref name="value" /> is null or is an invalid value.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.Is``1(System.String)">
<summary>Checks whether a string can be converted to the specified data type.</summary>
<returns>
<paramref name="true" /> if <paramref name="value" /> can be converted to the specified type; otherwise, <paramref name="false" />.</returns>
<param name="value">The value to test.</param>
<typeparam name="TValue">The data type to convert to.</typeparam>
</member>
<member name="M:System.Web.WebPages.StringExtensions.IsBool(System.String)">
<summary>Checks whether a string can be converted to the Boolean (true/false) type.</summary>
<returns>
<paramref name="true" /> if <paramref name="value" /> can be converted to the specified type; otherwise, <paramref name="false" />.</returns>
<param name="value">The string value to test.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.IsDateTime(System.String)">
<summary>Checks whether a string can be converted to the <see cref="T:System.DateTime" /> type.</summary>
<returns>
<paramref name="true" /> if <paramref name="value" /> can be converted to the specified type; otherwise, <paramref name="false" />.</returns>
<param name="value">The string value to test.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.IsDecimal(System.String)">
<summary>Checks whether a string can be converted to the <see cref="T:System.Decimal" /> type.</summary>
<returns>
<paramref name="true" /> if <paramref name="value" /> can be converted to the specified type; otherwise, <paramref name="false" />.</returns>
<param name="value">The string value to test.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.IsEmpty(System.String)">
<summary>Checks whether a string value is null or empty.</summary>
<returns>true if <paramref name="value" /> is null or is a zero-length string (""); otherwise, false.</returns>
<param name="value">The string value to test.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.IsFloat(System.String)">
<summary>Checks whether a string can be converted to the <see cref="T:System.Single" /> type.</summary>
<returns>true if <paramref name="value" /> can be converted to the specified type; otherwise, false.</returns>
<param name="value">The string value to test.</param>
</member>
<member name="M:System.Web.WebPages.StringExtensions.IsInt(System.String)">
<summary>Checks whether a string can be converted to an integer.</summary>
<returns>
<paramref name="true" /> if <paramref name="value" /> can be converted to the specified type; otherwise, <paramref name="false" />.</returns>
<param name="value">The string value to test.</param>
</member>
<member name="T:System.Web.WebPages.TemplateFileInfo"></member>
<member name="M:System.Web.WebPages.TemplateFileInfo.#ctor(System.String)"></member>
<member name="P:System.Web.WebPages.TemplateFileInfo.VirtualPath"></member>
<member name="T:System.Web.WebPages.TemplateStack"></member>
<member name="M:System.Web.WebPages.TemplateStack.GetCurrentTemplate(System.Web.HttpContextBase)"></member>
<member name="M:System.Web.WebPages.TemplateStack.Pop(System.Web.HttpContextBase)"></member>
<member name="M:System.Web.WebPages.TemplateStack.Push(System.Web.HttpContextBase,System.Web.WebPages.ITemplateFile)"></member>
<member name="T:System.Web.WebPages.VirtualPathFactoryManager"></member>
<member name="M:System.Web.WebPages.VirtualPathFactoryManager.RegisterVirtualPathFactory(System.Web.WebPages.IVirtualPathFactory)"></member>
<member name="T:System.Web.WebPages.WebPage">
<summary>Represents an ASP.NET Razor page.</summary>
</member>
<member name="M:System.Web.WebPages.WebPage.#ctor">
<summary>Called from a derived class to create a new instance that is based on the <see cref="T:System.Web.WebPages.WebPage" /> class.</summary>
</member>
<member name="P:System.Web.WebPages.WebPage.Context">
<summary>Gets or sets the <see cref="T:System.Web.HttpContextBase" /> object that is associated with a page.</summary>
<returns>An object that references HTTP data about the current context of a page.</returns>
</member>
<member name="M:System.Web.WebPages.WebPage.ExecutePageHierarchy">
<summary>Executes the code in a set of dependent Web pages.</summary>
</member>
<member name="P:System.Web.WebPages.WebPage.Html">
<summary>Gets the <see cref="T:System.Web.WebPages.Html.HtmlHelper" /> object that is associated with a page.</summary>
<returns>An object that supports rendering HTML form controls in a page.</returns>
</member>
<member name="M:System.Web.WebPages.WebPage.InitializePage">
<summary>Initializes an object that inherits from the <see cref="T:System.Web.WebPages.WebPage" /> class.</summary>
</member>
<member name="P:System.Web.WebPages.WebPage.Model">
<summary>Gets the model that is associated with a page.</summary>
<returns>An object that represents a model that is associated with the view data for a page.</returns>
</member>
<member name="P:System.Web.WebPages.WebPage.ModelState">
<summary>Gets the state data for the model that is associated with a page.</summary>
<returns>The state of the model.</returns>
</member>
<member name="M:System.Web.WebPages.WebPage.RegisterPageExecutor(System.Web.WebPages.IWebPageRequestExecutor)">
<summary>Adds a class to a list of classes that handle page execution and that implement custom features for pages.</summary>
<param name="executor">The class to add.</param>
</member>
<member name="T:System.Web.WebPages.WebPageBase"></member>
<member name="M:System.Web.WebPages.WebPageBase.#ctor"></member>
<member name="M:System.Web.WebPages.WebPageBase.ConfigurePage(System.Web.WebPages.WebPageBase)"></member>
<member name="M:System.Web.WebPages.WebPageBase.CreateInstanceFromVirtualPath(System.String)"></member>
<member name="M:System.Web.WebPages.WebPageBase.DefineSection(System.String,System.Web.WebPages.SectionWriter)">
<summary>Called by content pages to create named content sections.</summary>
<param name="name">The name of the section to create.</param>
<param name="action">The type of action to take with the new section.</param>
</member>
<member name="M:System.Web.WebPages.WebPageBase.ExecutePageHierarchy"></member>
<member name="M:System.Web.WebPages.WebPageBase.ExecutePageHierarchy(System.Web.WebPages.WebPageContext,System.IO.TextWriter)"></member>
<member name="M:System.Web.WebPages.WebPageBase.ExecutePageHierarchy(System.Web.WebPages.WebPageContext,System.IO.TextWriter,System.Web.WebPages.WebPageRenderingBase)"></member>
<member name="M:System.Web.WebPages.WebPageBase.InitializePage"></member>
<member name="M:System.Web.WebPages.WebPageBase.IsSectionDefined(System.String)"></member>
<member name="P:System.Web.WebPages.WebPageBase.Layout">
<summary>Gets or sets the path of a layout page.</summary>
<returns>The path of the layout page.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageBase.Output"></member>
<member name="P:System.Web.WebPages.WebPageBase.OutputStack"></member>
<member name="P:System.Web.WebPages.WebPageBase.Page">
<summary>Provides property-like access to page data that is shared between pages, layout pages, and partial pages.</summary>
<returns>An object that contains page data.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageBase.PageData">
<summary>Provides array-like access to page data that is shared between pages, layout pages, and partial pages.</summary>
<returns>A dictionary that contains page data.</returns>
</member>
<member name="M:System.Web.WebPages.WebPageBase.PopContext"></member>
<member name="M:System.Web.WebPages.WebPageBase.PushContext(System.Web.WebPages.WebPageContext,System.IO.TextWriter)"></member>
<member name="M:System.Web.WebPages.WebPageBase.RenderBody">
<summary>In layout pages, renders the portion of a content page that is not within a named section.</summary>
<returns>The HTML content to render.</returns>
</member>
<member name="M:System.Web.WebPages.WebPageBase.RenderPage(System.String,System.Object[])">
<summary>Renders the content of one page within another page.</summary>
<returns>The HTML content to render.</returns>
<param name="path">The path of the page to render.</param>
<param name="data">(Optional) An array of data to pass to the page being rendered. In the rendered page, these parameters can be accessed by using the <see cref="P:System.Web.WebPages.WebPageBase.PageData" /> property.</param>
</member>
<member name="M:System.Web.WebPages.WebPageBase.RenderSection(System.String)">
<summary>In layout pages, renders the content of a named section.</summary>
<returns>The HTML content to render.</returns>
<param name="name">The section to render.</param>
</member>
<member name="M:System.Web.WebPages.WebPageBase.RenderSection(System.String,System.Boolean)">
<summary>In layout pages, renders the content of a named section and specifies whether the section is required.</summary>
<returns>The HTML content to render.</returns>
<param name="name">The section to render.</param>
<param name="required">true to specify that the section is required; otherwise, false. The default is false.</param>
</member>
<member name="M:System.Web.WebPages.WebPageBase.Write(System.Object)"></member>
<member name="M:System.Web.WebPages.WebPageBase.Write(System.Web.WebPages.HelperResult)"></member>
<member name="M:System.Web.WebPages.WebPageBase.WriteLiteral(System.Object)"></member>
<member name="T:System.Web.WebPages.WebPageContext">
<summary>Contains data that is used by a <see cref="T:System.Web.WebPages.WebPage" /> object to reference details about the Web application, the current HTTP request context, the current execution context, and page data.</summary>
</member>
<member name="M:System.Web.WebPages.WebPageContext.#ctor"></member>
<member name="M:System.Web.WebPages.WebPageContext.#ctor(System.Web.HttpContextBase,System.Web.WebPages.WebPageRenderingBase,System.Object)"></member>
<member name="P:System.Web.WebPages.WebPageContext.Current">
<summary>Gets a reference to the current <see cref="T:System.Web.WebPages.WebPageContext" /> object that is associated with a page.</summary>
<returns>The current page context object.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageContext.Model"></member>
<member name="P:System.Web.WebPages.WebPageContext.Page">
<summary>Gets the <see cref="T:System.Web.WebPages.WebPageRenderingBase" /> object that is associated with a page.</summary>
<returns>The page rendering object.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageContext.PageData">
<summary>Gets the page data that is shared between pages, layout pages, and partial pages.</summary>
<returns>A dictionary that contains page data.</returns>
</member>
<member name="T:System.Web.WebPages.WebPageExecutingBase">
<summary>Provides objects and methods that are used to execute and render all ASP.NET Razor pages.</summary>
</member>
<member name="M:System.Web.WebPages.WebPageExecutingBase.#ctor"></member>
<member name="P:System.Web.WebPages.WebPageExecutingBase.App">
<summary>Gets the application state data cast as a <see cref="T:System.Dynamic.DynamicObject" /> object that callers can use to create and access custom application-scoped properties.</summary>
<returns>An object that references the application state data.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageExecutingBase.AppState">
<summary>Gets a reference to global application state data that can be shared across sessions and requests in an ASP.NET application.</summary>
<returns>The application state data.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageExecutingBase.Context">
<summary>When overridden in a derived class, gets or sets the <see cref="T:System.Web.HttpContextBase" /> object that is associated with a page.</summary>
<returns>The current context data.</returns>
</member>
<member name="M:System.Web.WebPages.WebPageExecutingBase.Execute"></member>
<member name="M:System.Web.WebPages.WebPageExecutingBase.NormalizePath(System.String)"></member>
<member name="P:System.Web.WebPages.WebPageExecutingBase.VirtualPath"></member>
<member name="M:System.Web.WebPages.WebPageExecutingBase.Write(System.Object)"></member>
<member name="M:System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)"></member>
<member name="M:System.Web.WebPages.WebPageExecutingBase.WriteLiteral(System.Object)"></member>
<member name="M:System.Web.WebPages.WebPageExecutingBase.WriteLiteralTo(System.IO.TextWriter,System.Object)"></member>
<member name="M:System.Web.WebPages.WebPageExecutingBase.WriteTo(System.IO.TextWriter,System.Object)"></member>
<member name="M:System.Web.WebPages.WebPageExecutingBase.WriteTo(System.IO.TextWriter,System.Web.WebPages.HelperResult)"></member>
<member name="T:System.Web.WebPages.WebPageHttpHandler"></member>
<member name="M:System.Web.WebPages.WebPageHttpHandler.#ctor(System.Web.WebPages.WebPage)"></member>
<member name="M:System.Web.WebPages.WebPageHttpHandler.CreateFromVirtualPath(System.String)"></member>
<member name="P:System.Web.WebPages.WebPageHttpHandler.DisableWebPagesResponseHeader"></member>
<member name="M:System.Web.WebPages.WebPageHttpHandler.GetRegisteredExtensions"></member>
<member name="P:System.Web.WebPages.WebPageHttpHandler.IsReusable"></member>
<member name="M:System.Web.WebPages.WebPageHttpHandler.ProcessRequest(System.Web.HttpContext)"></member>
<member name="M:System.Web.WebPages.WebPageHttpHandler.RegisterExtension(System.String)"></member>
<member name="F:System.Web.WebPages.WebPageHttpHandler.WebPagesVersionHeaderName"></member>
<member name="T:System.Web.WebPages.WebPageRenderingBase">
<summary>Provides methods and properties that are used to render pages that use the Razor view engine.</summary>
</member>
<member name="M:System.Web.WebPages.WebPageRenderingBase.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.WebPages.WebPageRenderingBase" /> class.</summary>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.Cache">
<summary>When overridden in a derived class, gets the cache object for the current application domain.</summary>
<returns>The cache object.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.Culture">
<summary>Gets or sets the culture for the current thread.</summary>
<returns>The culture for the current thread.</returns>
</member>
<member name="M:System.Web.WebPages.WebPageRenderingBase.ExecutePageHierarchy">
<summary>When overridden in a derived class, calls the methods that are used to initialize the page.</summary>
</member>
<member name="M:System.Web.WebPages.WebPageRenderingBase.Href(System.String,System.Object[])">
<summary>When overridden in a derived class, builds a URL using the specified parameters.</summary>
<returns>A URL.</returns>
<param name="path">The path to include in the URL.</param>
<param name="pathParts">Additional path information.</param>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.IsAjax">
<summary>When overridden in a derived class, get a value that indicates whether Ajax is being used during the request of the Web page.</summary>
<returns>true if Ajax is being used during the request; otherwise, false.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.IsPost">
<summary>When overridden in a derived class, returns a value that indicates whether the HTTP data transfer method used by the client to request the Web page is POST.</summary>
<returns>true if the HTTP verb is "POST"; otherwise, false.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.Layout">
<summary>When overridden in a derived class, gets or sets the path of a layout page.</summary>
<returns>The path of a layout page.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.Page">
<summary>When overridden in a derived class, provides property-like access to page data that is shared between pages, layout pages, and partial pages.</summary>
<returns>An object that contains page data.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.PageContext">
<summary>Gets the HTTP context for the Web page.</summary>
<returns>The HTTP context for the Web page.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.PageData">
<summary>When overridden in a derived class, provides array-like access to page data that is shared between pages, layout pages, and partial pages.</summary>
<returns>An object that provides array-like access to page data.</returns>
</member>
<member name="M:System.Web.WebPages.WebPageRenderingBase.RenderPage(System.String,System.Object[])">
<summary>When overridden in a derived class, renders a Web page.</summary>
<returns>The markup that represents the Web page.</returns>
<param name="path">The path of the page to render.</param>
<param name="data">Additional data that is used to render the page.</param>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.Request">
<summary>When overridden in a derived class, gets the <see cref="T:System.Web.HttpRequest" /> object for the current HTTP request.</summary>
<returns>A <see cref="T:System.Web.HttpRequest" /> object that contains the HTTP values sent by a client during a Web request.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.Response">
<summary>When overridden in a derived class, gets the <see cref="T:System.Web.HttpResponse" /> object for the current HTTP response.</summary>
<returns>A <see cref="T:System.Web.HttpResponse" /> object that contains the HTTP-response information from an ASP.NET operation.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.Server">
<summary>When overridden in a derived class, gets the <see cref="T:System.Web.HttpServerUtility" /> object that provides methods that can be used as part of Web-page processing.</summary>
<returns>The <see cref="T:System.Web.HttpServerUtility" /> object.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.Session">
<summary>When overridden in a derived class, gets the <see cref="T:System.Web.HttpSessionState" /> object for the current HTTP request.</summary>
<returns>Session data for the current request.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.TemplateInfo">
<summary>When overridden in a derived class, gets information about the currently executing file.</summary>
<returns>Information about the currently executing file.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.UICulture">
<summary>Gets or sets the current culture used by the ResourceManager to look up culture-specific resources at run time.</summary>
<returns>The current culture used by the Resource Manager.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.UrlData">
<summary>When overridden in a derived class, gets data related to the URL path.</summary>
<returns>Data related to the URL path.</returns>
</member>
<member name="P:System.Web.WebPages.WebPageRenderingBase.User">
<summary>When overridden in a derived class, gets a user value based on the HTTP context.</summary>
<returns>A user value based on the HTTP context.</returns>
</member>
<member name="T:System.Web.WebPages.Html.HtmlHelper">
<summary>Represents support for rendering HTML controls in a Web page.</summary>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.AttributeEncode(System.Object)">
<returns>Returns <see cref="T:System.String" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.AttributeEncode(System.String)">
<returns>Returns <see cref="T:System.String" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.CheckBox(System.String)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.CheckBox(System.String,System.Boolean)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.CheckBox(System.String,System.Boolean,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.CheckBox(System.String,System.Boolean,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.CheckBox(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.CheckBox(System.String,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.DropDownList(System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.DropDownList(System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.DropDownList(System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.DropDownList(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.DropDownList(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.DropDownList(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.DropDownList(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Object,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.DropDownList(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Object,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Encode(System.Object)">
<returns>Returns <see cref="T:System.String" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Encode(System.String)">
<returns>Returns <see cref="T:System.String" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Hidden(System.String)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Hidden(System.String,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Hidden(System.String,System.Object,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Hidden(System.String,System.Object,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="P:System.Web.WebPages.Html.HtmlHelper.IdAttributeDotReplacement">
<returns>Returns <see cref="T:System.String" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Label(System.String)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Label(System.String,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Label(System.String,System.String)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Label(System.String,System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Label(System.String,System.String,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ListBox(System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ListBox(System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ListBox(System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ListBox(System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Object,System.Int32,System.Boolean)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ListBox(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ListBox(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ListBox(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ListBox(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Object,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ListBox(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Object,System.Int32,System.Boolean)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ListBox(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Object,System.Int32,System.Boolean,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ListBox(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Object,System.Int32,System.Boolean,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ListBox(System.String,System.String,System.Collections.Generic.IEnumerable{System.Web.WebPages.Html.SelectListItem},System.Object,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Password(System.String)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Password(System.String,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Password(System.String,System.Object,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Password(System.String,System.Object,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.RadioButton(System.String,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.RadioButton(System.String,System.Object,System.Boolean)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.RadioButton(System.String,System.Object,System.Boolean,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.RadioButton(System.String,System.Object,System.Boolean,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.RadioButton(System.String,System.Object,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.RadioButton(System.String,System.Object,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.Raw(System.String)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.TextArea(System.String)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.TextArea(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.TextArea(System.String,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.TextArea(System.String,System.String)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.TextArea(System.String,System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.TextArea(System.String,System.String,System.Int32,System.Int32,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.TextArea(System.String,System.String,System.Int32,System.Int32,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.TextArea(System.String,System.String,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.TextBox(System.String)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.TextBox(System.String,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.TextBox(System.String,System.Object,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.TextBox(System.String,System.Object,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="P:System.Web.WebPages.Html.HtmlHelper.ValidationInputCssClassName">
<returns>Returns <see cref="T:System.String" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationMessage(System.String)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationMessage(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationMessage(System.String,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationMessage(System.String,System.String)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationMessage(System.String,System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationMessage(System.String,System.String,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationSummary">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationSummary(System.Boolean)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationSummary(System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationSummary(System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationSummary(System.String)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationSummary(System.String,System.Boolean,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationSummary(System.String,System.Boolean,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationSummary(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="M:System.Web.WebPages.Html.HtmlHelper.ValidationSummary(System.String,System.Object)">
<returns>Returns <see cref="T:System.Web.IHtmlString" />.</returns>
</member>
<member name="P:System.Web.WebPages.Html.HtmlHelper.ValidationSummaryClass">
<returns>Returns <see cref="T:System.String" />.</returns>
</member>
<member name="T:System.Web.WebPages.Html.ModelState"></member>
<member name="M:System.Web.WebPages.Html.ModelState.#ctor"></member>
<member name="P:System.Web.WebPages.Html.ModelState.Errors"></member>
<member name="P:System.Web.WebPages.Html.ModelState.Value"></member>
<member name="T:System.Web.WebPages.Html.ModelStateDictionary"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.#ctor"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.#ctor(System.Web.WebPages.Html.ModelStateDictionary)"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.Add(System.Collections.Generic.KeyValuePair{System.String,System.Web.WebPages.Html.ModelState})"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.Add(System.String,System.Web.WebPages.Html.ModelState)"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.AddError(System.String,System.String)"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.AddFormError(System.String)"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.Clear"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.Contains(System.Collections.Generic.KeyValuePair{System.String,System.Web.WebPages.Html.ModelState})"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.ContainsKey(System.String)"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.CopyTo(System.Collections.Generic.KeyValuePair{System.String,System.Web.WebPages.Html.ModelState}[],System.Int32)"></member>
<member name="P:System.Web.WebPages.Html.ModelStateDictionary.Count"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.GetEnumerator"></member>
<member name="P:System.Web.WebPages.Html.ModelStateDictionary.IsReadOnly"></member>
<member name="P:System.Web.WebPages.Html.ModelStateDictionary.IsValid"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.IsValidField(System.String)"></member>
<member name="P:System.Web.WebPages.Html.ModelStateDictionary.Item(System.String)"></member>
<member name="P:System.Web.WebPages.Html.ModelStateDictionary.Keys"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.Merge(System.Web.WebPages.Html.ModelStateDictionary)"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.Remove(System.Collections.Generic.KeyValuePair{System.String,System.Web.WebPages.Html.ModelState})"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.Remove(System.String)"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.SetModelValue(System.String,System.Object)"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.System#Collections#IEnumerable#GetEnumerator"></member>
<member name="M:System.Web.WebPages.Html.ModelStateDictionary.TryGetValue(System.String,System.Web.WebPages.Html.ModelState@)"></member>
<member name="P:System.Web.WebPages.Html.ModelStateDictionary.Values"></member>
<member name="T:System.Web.WebPages.Html.SelectListItem"></member>
<member name="M:System.Web.WebPages.Html.SelectListItem.#ctor"></member>
<member name="M:System.Web.WebPages.Html.SelectListItem.#ctor(System.Web.WebPages.Html.SelectListItem)"></member>
<member name="P:System.Web.WebPages.Html.SelectListItem.Selected"></member>
<member name="P:System.Web.WebPages.Html.SelectListItem.Text"></member>
<member name="P:System.Web.WebPages.Html.SelectListItem.Value"></member>
<member name="T:System.Web.WebPages.Scope.AspNetRequestScopeStorageProvider"></member>
<member name="M:System.Web.WebPages.Scope.AspNetRequestScopeStorageProvider.#ctor"></member>
<member name="P:System.Web.WebPages.Scope.AspNetRequestScopeStorageProvider.ApplicationScope"></member>
<member name="P:System.Web.WebPages.Scope.AspNetRequestScopeStorageProvider.CurrentScope"></member>
<member name="P:System.Web.WebPages.Scope.AspNetRequestScopeStorageProvider.GlobalScope"></member>
<member name="P:System.Web.WebPages.Scope.AspNetRequestScopeStorageProvider.RequestScope"></member>
<member name="T:System.Web.WebPages.Scope.IScopeStorageProvider"></member>
<member name="P:System.Web.WebPages.Scope.IScopeStorageProvider.CurrentScope"></member>
<member name="P:System.Web.WebPages.Scope.IScopeStorageProvider.GlobalScope"></member>
<member name="T:System.Web.WebPages.Scope.ScopeStorage"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorage.CreateTransientScope"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorage.CreateTransientScope(System.Collections.Generic.IDictionary{System.Object,System.Object})"></member>
<member name="P:System.Web.WebPages.Scope.ScopeStorage.CurrentProvider"></member>
<member name="P:System.Web.WebPages.Scope.ScopeStorage.CurrentScope"></member>
<member name="P:System.Web.WebPages.Scope.ScopeStorage.GlobalScope"></member>
<member name="T:System.Web.WebPages.Scope.ScopeStorageDictionary"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.#ctor"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.#ctor(System.Collections.Generic.IDictionary{System.Object,System.Object})"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.Add(System.Collections.Generic.KeyValuePair{System.Object,System.Object})"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.Add(System.Object,System.Object)"></member>
<member name="P:System.Web.WebPages.Scope.ScopeStorageDictionary.BackingStore"></member>
<member name="P:System.Web.WebPages.Scope.ScopeStorageDictionary.BaseScope"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.Clear"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.Contains(System.Collections.Generic.KeyValuePair{System.Object,System.Object})"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.ContainsKey(System.Object)"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.CopyTo(System.Collections.Generic.KeyValuePair{System.Object,System.Object}[],System.Int32)"></member>
<member name="P:System.Web.WebPages.Scope.ScopeStorageDictionary.Count"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.GetEnumerator"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.GetItems"></member>
<member name="P:System.Web.WebPages.Scope.ScopeStorageDictionary.IsReadOnly"></member>
<member name="P:System.Web.WebPages.Scope.ScopeStorageDictionary.Item(System.Object)"></member>
<member name="P:System.Web.WebPages.Scope.ScopeStorageDictionary.Keys"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.Remove(System.Collections.Generic.KeyValuePair{System.Object,System.Object})"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.Remove(System.Object)"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.SetValue(System.Object,System.Object)"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.System#Collections#IEnumerable#GetEnumerator"></member>
<member name="M:System.Web.WebPages.Scope.ScopeStorageDictionary.TryGetValue(System.Object,System.Object@)"></member>
<member name="P:System.Web.WebPages.Scope.ScopeStorageDictionary.Values"></member>
<member name="T:System.Web.WebPages.Scope.StaticScopeStorageProvider"></member>
<member name="M:System.Web.WebPages.Scope.StaticScopeStorageProvider.#ctor"></member>
<member name="P:System.Web.WebPages.Scope.StaticScopeStorageProvider.CurrentScope"></member>
<member name="P:System.Web.WebPages.Scope.StaticScopeStorageProvider.GlobalScope"></member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,203 +0,0 @@
VCB Command-line Utility ver. 3.2
NOTE: Implementation details and latest version of the tool can be found at
http://www.codeproject.com/KB/macros/versioningcontrolledbuild.aspx
AutoVer.exe is a command-line utility that provides functionality
similar to VCB Add-in - it automates versioning of projects in
solutions.
Supported workspaces/solutions:
- Visual C++ 6.0 workspaces (.dsw files)
- Visual Studio 2002 solutions (.sln files)
- Visual Studio 2003 solutions (.sln files)
- Visual Studio 2005 solutions (.sln files)
- Visual Studio 2008 solutions (.sln files)
- Visual Studio 2010 solutions (.sln files)
The tool extracts version information (AssemblyVersion,
AssemblyInformationalVersion and AssemblyFileVersion for .NET projects or
ProductVersion and FileVersion for VC++ projects) and increments versions
according to settings in configuration file or according to command-line
switches that override some settings in configuration file. Configuration file
is stored in
Application Data\Versioning Controlled Build
folder of user's profile and can be modified by Configurator program.
Basic Syntax:
AUTOVER /?
AUTOVER [solution] /G
AUTOVER [solution [version]] [/P:projects] [/C:(E|W)] [/A:(A|M)]
[/V:(*|[A][F][P|I])] [/S:(S|I|N)] [/M:([C][F["filename"]]|N)]
[/U:(username[,password])]
/? Displays command help.
solution Solution file (.SLN or .DSW) for which versions should be updated.
If solution file is omitted, "Open Solution File" dialog pops-up
allowing user to select the file.
/G Starts GUI form with a list of all projects.
NOTE: This switch should not be used with any other switch.
Examples:
AUTOVER /G
AUTOVER /G "C:\My Projects\My Solution.sln"
AUTOVER "C:\My Projects\My Solution.sln" /G
version Version pattern to be applied. Version pattern is a sequence of
four dot separated version components: Major, Minor, Build and
Revision. Each component may contain number (optionally preceded by
'+' character) or '*' character:
'*' character leaves corresponding version component unchanged,
'+' character increments it by amount specified.
For example, version pattern "1.2.*.+2" sets Major version to 1
and Minor to 2, leaves Build unchanged and increments Revision by
2.
If version is omitted, versions are incremented by the scheme
stored in the configuration file. If configuration file does not
exist, Revision will be incremented by 1.
If configured so, user may enter arbitrary version (e.g. "beta 1")
but can apply it to AssemblyInformationalVersion only (using /V:I
or /V:I switch).However such a version will not be applied to
ProductVersion of VC++ projects.
Arbitrary version must not contain a dot character.
NOTE: version pattern cannot be applied in combination with /S
switch.
Examples:
AUTOVER "C:\My Projects\My Solution.sln" "1.0.0.1"
AUTOVER "C:\My Projects\My Solution.sln" "1.+1,*.*"
AUTOVER "C:\My Projects\My Solution.sln" "beta2" /V:I
/P Specifications for individual projects as defined in the list
supplied with this switch. If this switch is omitted, all projects
in solution are considered, according to settings in configuration
file.
projects List of comma separated project names. Each project name may be
prefixed by:
+ (optional) include project into the list of projects for
which version may be modified;
- exclude project from the list of projects for which version
may be modified (complement to + prefix);
! include project into list of projects for which version is
always modified.
If a project name contains whitespace, you should enclose it with
double quotes. Same applies for the case when project name starts
with one of prefix characters.
NOTE: Version of project that may be versioned will be modified
only if other criteria apply (e.g. project modification has been
detected or /A:A switch has been set).
NOTE: Project name may be listed only once, otherwise an error is
issued and command is not executed.
Examples:
AUTOVER "My Solution.sln" /P:"ConsoleApp1","ConsoleApp2"
AUTOVER "My Solution.sln" /P:-"Xlib"
AUTOVER "My Solution.sln" /P:!"ConsoleApp1",-"ConsoleApp2"
/C Check if project names provided with /P, /X and /F switches exist
in solution. Any invalid name causes:
E Error - command is not executed (default);
W Warning - command is executed ignoring invalid entries.
/A Apply version to:
A All projects;
M Modified projects only (default).
NOTE: /P and /X switches change the scope of /A switch by limiting
the scope to or excluding corresponding projects from scope,
respectively.
/F switch extends the scope of /A:M switch by including
corresponding projects.
/V Version types to modify:
A Assembly version;
P or I Product (i.e. Informational) version;
F File version;
* All version types.
If this switch is omitted, settings from configuration file are
applied. If configuration file does not exist, only Assembly
version is modified.
Examples:
AUTOVER "My Solution.sln" "1.+1.*.*"/V:AF
AUTOVER "My Solution.sln" /V:*
/S Synchronization of versions in projects:
S Synchronize (to the highest version);
I Increment and then synchronize;
N Increment versions independently.
If this switch is omitted, settings from configuration file are
applied. If configuration file does not exist, versions are
incremented independently.
NOTE: this switch cannot be used if version pattern is provided.
Example:
AUTOVER "My Solution.sln" /S:I
/M Version update summary:
C Output to console (default);
F Write to a file (with optional filename);
N Suppress the summary.
If filename is omitted from /M:F switch, name is automatically
created from solution filename.
Example:
AUTOVER "My Solution.sln" /M:CF"summary.txt"
/U SourceSafe username and password. If username or password are not
provided, user will be prompted to enter them if solution is under
SourceSafe control. If you do not want to provide password with
command stored in a script (e.g. in a BAT file), you may store
username only (without comma after it: /G:username); user will be
prompted to enter password when command is run.
NOTE: If /U switch is omitted and solution is under SourceSafe
control, username and password of the currently logged user is
used; if it is not valid, user will be prompted to enter them for
each file to be checked out!
Examples:
Provide username and password:
AUTOVER "My Solution.sln" /U:john,smith
Provide username and empty password:
AUTOVER "My Solution.sln" /U:john,
AUTOVER "My Solution.sln" /U:john,""
Provide username only, user will be prompted to enter password:
AUTOVER "My Solution.sln" /U:john
User will be prompted to enter username and password:
AUTOVER "My Solution.sln" /U
EXAMPLE 1:
AUTOVER /V:* /A:M "d:\my projects\MySolution.sln"
This command increments all versions (Assembly, File and Product) of
modified projects in MySolution solution, using numbering scheme from
configuration file (or default scheme if configuration file does not
exist)
EXAMPLE 2:
AUTOVER /V:AF /A:A "d:\my projects\MySolution.sln"
"2.0.*.+"
This command sets Assembly and File versions for all projects from
MySolution solution, using version mask provided:
- major version is set to 2
- minor version is set to 0
- build is left intact
- revision is incremented by 1
EXAMPLE 3:
AUTOVER /G
This command first pops-up File Open dialog so that user can browse for
a solution file. When user selects a SLN or DSW file, form with a list
of all projects is displayed, providing user precise control to set
versions for individual projects.

Binary file not shown.

@ -1,51 +0,0 @@
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<a1:Hashtable id="ref-1" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
<LoadFactor>0.72</LoadFactor>
<Version>2</Version>
<Comparer xsi:null="1"/>
<HashCodeProvider xsi:null="1"/>
<HashSize>11</HashSize>
<Keys href="#ref-2"/>
<Values href="#ref-3"/>
</a1:Hashtable>
<SOAP-ENC:Array id="ref-2" SOAP-ENC:arrayType="xsd:anyType[2]">
<item id="ref-4" xsi:type="SOAP-ENC:string">_reserved_nestedSavedStates</item>
<item id="ref-5" xsi:type="SOAP-ENC:string">_reserved_lastInstallerAttempted</item>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-3" SOAP-ENC:arrayType="xsd:anyType[2]">
<item href="#ref-6"/>
<item xsi:type="xsd:int">0</item>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-6" SOAP-ENC:arrayType="a1:IDictionary[1]" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
<item href="#ref-7"/>
</SOAP-ENC:Array>
<a1:Hashtable id="ref-7" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
<LoadFactor>0.72</LoadFactor>
<Version>6</Version>
<Comparer xsi:null="1"/>
<HashCodeProvider xsi:null="1"/>
<HashSize>11</HashSize>
<Keys href="#ref-8"/>
<Values href="#ref-9"/>
</a1:Hashtable>
<SOAP-ENC:Array id="ref-8" SOAP-ENC:arrayType="xsd:anyType[6]">
<item id="ref-10" xsi:type="SOAP-ENC:string">VS_7_1_INSTALLDIR</item>
<item href="#ref-4"/>
<item id="ref-11" xsi:type="SOAP-ENC:string">VS_8_0_INSTALLDIR</item>
<item id="ref-12" xsi:type="SOAP-ENC:string">VS_10_0_INSTALLDIR</item>
<item id="ref-13" xsi:type="SOAP-ENC:string">VS_9_0_INSTALLDIR</item>
<item href="#ref-5"/>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-9" SOAP-ENC:arrayType="xsd:anyType[6]">
<item xsi:type="xsd:boolean">true</item>
<item href="#ref-14"/>
<item xsi:type="xsd:boolean">true</item>
<item xsi:type="xsd:boolean">true</item>
<item xsi:type="xsd:boolean">true</item>
<item xsi:type="xsd:int">-1</item>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-14" SOAP-ENC:arrayType="a1:IDictionary[0]" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
</SOAP-ENC:Array>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Binary file not shown.

@ -1,148 +0,0 @@
<Configuration>
<CodeStyleSettings>
<ExternalPath IsNull="False" />
<Sharing>SOLUTION</Sharing>
<CSS>
<FormatSettings />
<Naming2 />
</CSS>
<CSharp>
<FormatSettings>
<ALIGN_FIRST_ARG_BY_PAREN>True</ALIGN_FIRST_ARG_BY_PAREN>
<ALIGN_MULTILINE_FOR_STMT>False</ALIGN_MULTILINE_FOR_STMT>
<CONTINUOUS_INDENT_MULTIPLIER>2</CONTINUOUS_INDENT_MULTIPLIER>
<FORCE_ATTRIBUTE_STYLE>SEPARATE</FORCE_ATTRIBUTE_STYLE>
<INDENT_NESTED_FIXED_STMT>True</INDENT_NESTED_FIXED_STMT>
<INDENT_NESTED_USINGS_STMT>True</INDENT_NESTED_USINGS_STMT>
<LINE_FEED_AT_FILE_END>True</LINE_FEED_AT_FILE_END>
<MODIFIERS_ORDER IsNull="False">
<Item>public</Item>
<Item>protected</Item>
<Item>internal</Item>
<Item>private</Item>
<Item>new</Item>
<Item>abstract</Item>
<Item>virtual</Item>
<Item>override</Item>
<Item>sealed</Item>
<Item>static</Item>
<Item>readonly</Item>
<Item>extern</Item>
<Item>unsafe</Item>
<Item>volatile</Item>
</MODIFIERS_ORDER>
<SPACE_AFTER_TYPECAST_PARENTHESES>False</SPACE_AFTER_TYPECAST_PARENTHESES>
<SPACE_AROUND_ARROW_OP>True</SPACE_AROUND_ARROW_OP>
<SPACE_AROUND_MULTIPLICATIVE_OP>True</SPACE_AROUND_MULTIPLICATIVE_OP>
<SPACE_BEFORE_CATCH_PARENTHESES>False</SPACE_BEFORE_CATCH_PARENTHESES>
<SPACE_BEFORE_FIXED_PARENTHESES>False</SPACE_BEFORE_FIXED_PARENTHESES>
<SPACE_BEFORE_FOR_PARENTHESES>False</SPACE_BEFORE_FOR_PARENTHESES>
<SPACE_BEFORE_FOR_SEMICOLON>True</SPACE_BEFORE_FOR_SEMICOLON>
<SPACE_BEFORE_FOREACH_PARENTHESES>False</SPACE_BEFORE_FOREACH_PARENTHESES>
<SPACE_BEFORE_IF_PARENTHESES>False</SPACE_BEFORE_IF_PARENTHESES>
<SPACE_BEFORE_LOCK_PARENTHESES>False</SPACE_BEFORE_LOCK_PARENTHESES>
<SPACE_BEFORE_SIZEOF_PARENTHESES>False</SPACE_BEFORE_SIZEOF_PARENTHESES>
<SPACE_BEFORE_SWITCH_PARENTHESES>False</SPACE_BEFORE_SWITCH_PARENTHESES>
<SPACE_BEFORE_TYPE_PARAMETER_ANGLE>True</SPACE_BEFORE_TYPE_PARAMETER_ANGLE>
<SPACE_BEFORE_TYPE_PARAMETER_CONSTRAINT_COLON>False</SPACE_BEFORE_TYPE_PARAMETER_CONSTRAINT_COLON>
<SPACE_BEFORE_TYPEOF_PARENTHESES>False</SPACE_BEFORE_TYPEOF_PARENTHESES>
<SPACE_BEFORE_USING_PARENTHESES>False</SPACE_BEFORE_USING_PARENTHESES>
<SPACE_BEFORE_WHILE_PARENTHESES>False</SPACE_BEFORE_WHILE_PARENTHESES>
<STICK_COMMENT>False</STICK_COMMENT>
</FormatSettings>
<UsingsSettings>
<MandatoryImports IsNull="False">
<Item>System.Linq</Item>
</MandatoryImports>
</UsingsSettings>
<Naming2>
<EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>
<EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>
</Naming2>
</CSharp>
<HTML>
<FormatSettings />
</HTML>
<JavaScript>
<FormatSettings />
<Naming2>
<UserRule Name="JS_LOCAL_VARIABLE" Inspect="True" Prefix="" Suffix="" Style="aaBb" />
<UserRule Name="JS_FUNCTION" Inspect="True" Prefix="" Suffix="" Style="aaBb" />
<UserRule Name="JS_PARAMETER" Inspect="True" Prefix="" Suffix="" Style="aaBb" />
<UserRule Name="JS_LABEL" Inspect="True" Prefix="" Suffix="" Style="aaBb" />
<UserRule Name="JS_GLOBAL_VARIABLE" Inspect="True" Prefix="" Suffix="" Style="AaBb" />
<UserRule Name="JS_OBJECT_PROPERTY_OF_FUNCTION" Inspect="True" Prefix="" Suffix="" Style="aaBb" />
<UserRule Name="JS_CONSTRUCTOR" Inspect="True" Prefix="" Suffix="" Style="AaBb" />
</Naming2>
</JavaScript>
<VB>
<FormatSettings />
<ImportsSettings />
<Naming2>
<EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>
<EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>
</Naming2>
</VB>
<Web>
<Naming2 />
</Web>
<XML>
<FormatSettings />
</XML>
<Xaml>
<Naming2 />
</Xaml>
<GenerateMemberBody />
<Naming2>
<EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>
<EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="PrivateStaticReadonly" />
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="TypesAndNamespaces" />
<PredefinedRule Inspect="True" Prefix="I" Suffix="" Style="AaBb" ElementKind="Interfaces" />
<PredefinedRule Inspect="True" Prefix="T" Suffix="" Style="AaBb" ElementKind="TypeParameters" />
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="MethodPropertyEvent" />
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Locals" />
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="LocalConstants" />
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Parameters" />
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PublicFields" />
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateInstanceFields" />
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateStaticFields" />
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AA_BB" ElementKind="Constants" />
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AA_BB" ElementKind="PrivateConstants" />
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="StaticReadonly" />
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="EnumMember" />
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Other" />
<Abbreviation Text="IIS" />
</Naming2>
</CodeStyleSettings>
<Daemon.SolutionSettings>
<SkipFilesAndFolders>
<Item>43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD/d:Content/d:2011.2.712</Item>
<Item>43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD/d:Content/d:jQueryUI</Item>
</SkipFilesAndFolders>
</Daemon.SolutionSettings>
<SharedSolutionTemplateManager>
<LiveTemplates>
<Template uid="3ec01bf0-ad83-4b4c-a0b2-381f28e3c369" shortcut="Test" description="Test Method" text="[NUnit.Framework.Test]&#xD;&#xA;[NUnit.Framework.Description(&quot;$TEST_NAME$&quot;)]&#xD;&#xA;public void $TEST_METHOD_NAME$() &#xD;&#xA;{&#xD;&#xA; //Act&#xD;&#xA;&#xD;&#xA; //Assert&#xD;&#xA;&#xD;&#xA;}" reformat="True" shortenQualifiedReferences="True">
<Scopes>
<Scope type="InCSharpTypeMember" minimumLanguageVersion="2.0" />
</Scopes>
<Categories />
<Variables>
<Variable name="TEST_NAME" expression="" initialRange="0" />
<Variable name="TEST_METHOD_NAME" expression="spacestounderstrokes(TEST_NAME)" initialRange="-1" />
</Variables>
<CustomProperties />
</Template>
<Template uid="26915659-690b-46fa-a776-0d5995a33936" shortcut="Logger" description="" text="private static readonly Logger Logger = LogManager.GetCurrentClassLogger();" reformat="True" shortenQualifiedReferences="True">
<Scopes>
<Scope type="Everywhere" />
<Scope type="InCSharpTypeMember" minimumLanguageVersion="2.0" />
</Scopes>
<Categories />
<Variables />
<CustomProperties />
</Template>
</LiveTemplates>
</SharedSolutionTemplateManager>
</Configuration>

@ -134,6 +134,7 @@
<SubType>Form</SubType>
</Compile>
<Compile Include="SysTray\SysTrayProvider.cs" />
<Compile Include="TryParseExtension.cs" />
</ItemGroup>
<ItemGroup>
<None Include="EnsureThat\ve-3BAF.tmp" />

@ -0,0 +1,20 @@
using System;
using System.Linq;
namespace NzbDrone.Common
{
public static class TryParseExtension
{
public static Nullable<int> ParseInt32(this string source)
{
Int32 result = 0;
if (Int32.TryParse(source, out result))
{
return result;
}
return null;
}
}
}

@ -1,130 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Autofac;
using FluentAssertions;
using NCrunch.Framework;
using NUnit.Framework;
using NzbDrone.Common;
using NzbDrone.Core.ExternalNotification;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Jobs;
using NzbDrone.Core.Providers;
using NzbDrone.Core.Providers.Metadata;
using NzbDrone.Core.Qualities;
using NzbDrone.Core.Test.Framework;
namespace NzbDrone.Core.Test
{
[Ignore]
[TestFixture]
[ExclusivelyUses("REAL_LOG_FILE")]
[Serial]
class CentralDispatchFixture : CoreTest
{
static readonly Assembly NzbDroneCore = Assembly.Load("NzbDrone.Core");
readonly IList<string> indexers = NzbDroneCore.GetTypes().Where(t => t.IsSubclassOf(typeof(IndexerBase))).Select(c => c.ToString()).ToList();
readonly IList<string> jobs = NzbDroneCore.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(IJob))).Select(c => c.ToString()).ToList();
readonly IList<Type> extNotifications = NzbDroneCore.GetTypes().Where(t => t.IsSubclassOf(typeof(ExternalNotificationBase))).ToList();
readonly IList<Type> metadata = NzbDroneCore.GetTypes().Where(t => t.IsSubclassOf(typeof(MetadataBase))).ToList();
private readonly IContainer kernel;
public CentralDispatchFixture()
{
InitLogging();
}
[Test]
public void InitAppTest()
{
kernel.Should().NotBeNull();
}
[Test]
public void Resolve_all_providers()
{
var providers = NzbDroneCore.GetTypes().Where(t => t.Name.EndsWith("Provider")).ToList();
providers.Should().NotBeEmpty();
foreach (var provider in providers)
{
Console.WriteLine("Resolving " + provider.Name);
kernel.Resolve(provider).Should().NotBeNull();
}
}
[Test]
public void All_jobs_should_be_registered()
{
var registeredJobs = kernel.Resolve<IEnumerable<IJob>>();
jobs.Should().NotBeEmpty();
registeredJobs.Should().HaveSameCount(jobs);
}
[Test]
public void All_indexers_should_be_registered()
{
var registeredIndexers = kernel.Resolve<IEnumerable<IndexerBase>>();
indexers.Should().NotBeEmpty();
registeredIndexers.Should().HaveSameCount(indexers);
}
[Test]
public void All_externalNotifiers_should_be_registered()
{
var externalNotificationBases = kernel.Resolve<IEnumerable<ExternalNotificationBase>>();
extNotifications.Should().NotBeEmpty();
externalNotificationBases.Should().HaveSameCount(extNotifications);
}
[Test]
public void All_metadata_clients_should_be_registered()
{
var metadataBases = kernel.Resolve<IEnumerable<MetadataBase>>();
metadata.Should().NotBeEmpty();
metadataBases.Should().HaveSameCount(metadata);
}
[Test]
public void jobs_are_initialized()
{
kernel.Resolve<IJobRepository>().All().Should().HaveSameCount(jobs);
}
[Test]
public void indexers_are_initialized()
{
kernel.Resolve<IIndexerService>().All().Select(c => c.Type).Should().BeEquivalentTo(indexers);
}
[Test]
public void quality_profile_initialized()
{
kernel.Resolve<QualityProfileService>().All().Should().HaveCount(2);
}
[Test]
public void JobProvider_should_be_singletone()
{
var first = kernel.Resolve<JobController>();
var second = kernel.Resolve<JobController>();
first.Should().BeSameAs(second);
}
}
}

@ -182,8 +182,6 @@
<Compile Include="ProviderTests\DiskScanProviderTests\ScanFixture.cs" />
<Compile Include="ProviderTests\DownloadClientTests\PneumaticProviderFixture.cs" />
<Compile Include="TvTests\EpisodeProviderTests\GetEpisodeBySceneNumberFixture.cs" />
<Compile Include="ProviderTests\Metadata\Xbmc_ForEpisodeFile_Fixture.cs" />
<Compile Include="ProviderTests\Metadata\Xbmc_ForSeries_Fixture.cs" />
<Compile Include="ProviderTests\PostDownloadProviderTests\ProcessDropDirectoryFixture.cs" />
<Compile Include="ProviderTests\PostDownloadProviderTests\ProcessVideoFileFixture.cs" />
<Compile Include="ProviderTests\RecycleBinProviderTests\CleanupFixture.cs" />
@ -222,7 +220,6 @@
<Compile Include="JobTests\SeasonSearchJobTest.cs" />
<Compile Include="JobTests\SeriesSearchJobTest.cs" />
<Compile Include="ProviderTests\EventClientProviderTest.cs" />
<Compile Include="CentralDispatchFixture.cs" />
<Compile Include="ProviderTests\XbmcProviderTest.cs" />
<Compile Include="ProviderTests\DiskScanProviderTests\MoveEpisodeFileFixture.cs" />
<Compile Include="TvTests\EpisodeProviderTests\EpisodeProviderTest_GetEpisodesByParseResult.cs" />

@ -1,198 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using FizzWare.NBuilder;
using FluentAssertions;
using Moq;
using NUnit.Framework;
using NzbDrone.Common;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Tv;
using NzbDrone.Core.Model.Notification;
using NzbDrone.Core.Providers;
using NzbDrone.Core.Providers.Core;
using NzbDrone.Core.Providers.Metadata;
using NzbDrone.Core.Repository;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Test.Common.AutoMoq;
using NzbDrone.Test.Common;
using TvdbLib.Data;
using TvdbLib.Data.Banner;
namespace NzbDrone.Core.Test.ProviderTests.Metadata
{
[TestFixture]
// ReSharper disable InconsistentNaming
public class Xbmc_ForEpisoddeFile_Fixture : CoreTest
{
private Series series;
private EpisodeFile episodeFile;
private TvdbSeries tvdbSeries;
[SetUp]
public void Setup()
{
WithTempAsAppPath();
series = Builder<Series>
.CreateNew()
.With(s => s.Id == 79488)
.With(s => s.Title == "30 Rock")
.Build();
episodeFile = Builder<EpisodeFile>.CreateNew()
.With(f => f.SeriesId = 79488)
.With(f => f.SeasonNumber = 1)
.With(f => f.Path = @"C:\Test\30 Rock\Season 01\30 Rock - S01E01 - Pilot.avi")
.Build();
var tvdbEpisodes = Builder<TvdbEpisode>.CreateListOfSize(2)
.All()
.With(e => e.SeriesId = 79488)
.With(e => e.SeasonNumber = 1)
.With(e => e.Directors = new List<string>{ "Fake Director" })
.With(e => e.Writer = new List<string>{ "Fake Writer" })
.With(e => e.GuestStars = new List<string> { "Guest Star 1", "Guest Star 2", "Guest Star 3", "" })
.Build();
var seasonBanners = Builder<TvdbSeasonBanner>
.CreateListOfSize(4)
.TheFirst(2)
.With(b => b.Season = 1)
.TheLast(2)
.With(b => b.Season = 2)
.TheFirst(1)
.With(b => b.BannerType = TvdbSeasonBanner.Type.season)
.With(b => b.BannerPath = "seasons/79488-1-1.jpg")
.TheNext(2)
.With(b => b.BannerType = TvdbSeasonBanner.Type.seasonwide)
.With(b => b.BannerPath = "banners/seasons/79488-test.jpg")
.TheLast(1)
.With(b => b.BannerType = TvdbSeasonBanner.Type.season)
.With(b => b.BannerPath = "seasons/79488-2-1.jpg")
.Build();
var seriesActors = Builder<TvdbActor>
.CreateListOfSize(5)
.All()
.With(a => a.ActorImage = Builder<TvdbActorBanner>.CreateNew().Build())
.Build();
tvdbSeries = Builder<TvdbSeries>
.CreateNew()
.With(s => s.Id = 79488)
.With(s => s.SeriesName = "30 Rock")
.With(s => s.TvdbActors = seriesActors.ToList())
.With(s => s.Episodes = tvdbEpisodes.ToList())
.Build();
tvdbSeries.Banners.AddRange(seasonBanners);
}
private void WithUseBanners()
{
Mocker.GetMock<IConfigService>().SetupGet(s => s.MetadataUseBanners).Returns(true);
}
private void WithSingleEpisodeFile()
{
var episode = Builder<Episode>.CreateNew()
.With(e => e.SeasonNumber = 1)
.With(e => e.SeriesId = 79488)
.With(e => e.EpisodeNumber = 1)
.Build();
Mocker.GetMock<IEpisodeService>()
.Setup(s => s.GetEpisodesByFileId(episodeFile.Id))
.Returns(new List<Episode> { episode });
}
private void WithMultiEpisodeFile()
{
var episodes = Builder<Episode>.CreateListOfSize(2)
.All()
.With(e => e.SeriesId = 79488)
.With(e => e.SeasonNumber = 1)
.Build();
Mocker.GetMock<IEpisodeService>()
.Setup(s => s.GetEpisodesByFileId(episodeFile.Id))
.Returns(episodes.ToList());
}
private void WithNoDirectors()
{
tvdbSeries.Episodes.ForEach(e => e.Directors = new List<string>());
}
private void WithNoWriters()
{
tvdbSeries.Episodes.ForEach(e => e.Writer = new List<string>());
}
private void WithoutThumbnails()
{
tvdbSeries.Episodes.ForEach(e => e.BannerPath = String.Empty);
}
[Test]
public void should_not_blowup()
{
WithSingleEpisodeFile();
Mocker.Resolve<Xbmc>().CreateForEpisodeFile(episodeFile, tvdbSeries);
}
[Test]
public void should_call_diskprovider_writeAllText_once_for_single_episode()
{
WithSingleEpisodeFile();
Mocker.Resolve<Xbmc>().CreateForEpisodeFile(episodeFile, tvdbSeries);
Mocker.GetMock<DiskProvider>().Verify(v => v.WriteAllText(episodeFile.Path.Replace("avi", "nfo"), It.IsAny<string>()), Times.Once());
}
[Test]
public void should_call_diskprovider_writeAllText_once_for_multi_episode()
{
WithMultiEpisodeFile();
Mocker.Resolve<Xbmc>().CreateForEpisodeFile(episodeFile, tvdbSeries);
Mocker.GetMock<DiskProvider>().Verify(v => v.WriteAllText(episodeFile.Path.Replace("avi", "nfo"), It.IsAny<string>()), Times.Once());
}
[Test]
public void should_download_thumbnail_when_thumbnail_path_is_not_null()
{
WithSingleEpisodeFile();
Mocker.Resolve<Xbmc>().CreateForEpisodeFile(episodeFile, tvdbSeries);
Mocker.GetMock<BannerProvider>().Verify(v => v.Download(tvdbSeries.Episodes.First().BannerPath, episodeFile.Path.Replace("avi", "tbn")), Times.Once());
}
[Test]
public void should_not_blowup_when_director_is_not_found()
{
WithSingleEpisodeFile();
WithNoDirectors();
Mocker.Resolve<Xbmc>().CreateForEpisodeFile(episodeFile, tvdbSeries);
}
[Test]
public void should_not_blowup_when_writer_is_not_found()
{
WithSingleEpisodeFile();
WithNoWriters();
Mocker.Resolve<Xbmc>().CreateForEpisodeFile(episodeFile, tvdbSeries);
}
[Test]
public void should_download_nfo_even_if_thumbnail_is_missing()
{
WithSingleEpisodeFile();
WithoutThumbnails();
Mocker.Resolve<Xbmc>().CreateForEpisodeFile(episodeFile, tvdbSeries);
Mocker.GetMock<DiskProvider>().Verify(v => v.WriteAllText(It.IsAny<String>(), It.IsAny<String>()), Times.Once());
}
}
}

@ -1,199 +0,0 @@
using System;
using System.IO;
using System.Linq;
using System.Net;
using FizzWare.NBuilder;
using FluentAssertions;
using Moq;
using NUnit.Framework;
using NzbDrone.Common;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Tv;
using NzbDrone.Core.Model.Notification;
using NzbDrone.Core.Providers;
using NzbDrone.Core.Providers.Core;
using NzbDrone.Core.Providers.Metadata;
using NzbDrone.Core.Repository;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Test.Common.AutoMoq;
using NzbDrone.Test.Common;
using TvdbLib.Data;
using TvdbLib.Data.Banner;
namespace NzbDrone.Core.Test.ProviderTests.Metadata
{
[TestFixture]
// ReSharper disable InconsistentNaming
public class Xbmc_ForSeries_Fixture : CoreTest
{
private Series series;
private TvdbSeries tvdbSeries;
[SetUp]
public void Setup()
{
WithTempAsAppPath();
series = Builder<Series>
.CreateNew()
.With(s => s.Id == 79488)
.With(s => s.Title == "30 Rock")
.Build();
var seasonBanners = Builder<TvdbSeasonBanner>
.CreateListOfSize(4)
.TheFirst(2)
.With(b => b.Season = 1)
.TheLast(2)
.With(b => b.Season = 2)
.TheFirst(1)
.With(b => b.BannerType = TvdbSeasonBanner.Type.season)
.With(b => b.BannerPath = "seasons/79488-1-1.jpg")
.TheNext(2)
.With(b => b.BannerType = TvdbSeasonBanner.Type.seasonwide)
.With(b => b.BannerPath = "banners/seasons/79488-test.jpg")
.TheLast(1)
.With(b => b.BannerType = TvdbSeasonBanner.Type.season)
.With(b => b.BannerPath = "seasons/79488-2-1.jpg")
.Build();
var seriesActors = Builder<TvdbActor>
.CreateListOfSize(5)
.All()
.With(a => a.ActorImage = Builder<TvdbActorBanner>.CreateNew().Build())
.Build();
tvdbSeries = Builder<TvdbSeries>
.CreateNew()
.With(s => s.Id = 79488)
.With(s => s.SeriesName = "30 Rock")
.With(s => s.TvdbActors = seriesActors.ToList())
.Build();
tvdbSeries.Banners.AddRange(seasonBanners);
}
private void WithUseBanners()
{
Mocker.GetMock<IConfigService>().SetupGet(s => s.MetadataUseBanners).Returns(true);
}
private void WithSpecials()
{
var seasonBanners = Builder<TvdbSeasonBanner>
.CreateListOfSize(2)
.All()
.With(b => b.Season = 0)
.TheFirst(1)
.With(b => b.BannerType = TvdbSeasonBanner.Type.season)
.With(b => b.BannerPath = "seasons/79488-0-1.jpg")
.TheLast(1)
.With(b => b.BannerType = TvdbSeasonBanner.Type.seasonwide)
.With(b => b.BannerPath = "banners/seasons/79488-0-1.jpg")
.Build();
var seriesActors = Builder<TvdbActor>
.CreateListOfSize(5)
.All()
.With(a => a.ActorImage = Builder<TvdbActorBanner>.CreateNew().Build())
.Build();
tvdbSeries = Builder<TvdbSeries>
.CreateNew()
.With(s => s.Id = 79488)
.With(s => s.SeriesName = "30 Rock")
.With(s => s.TvdbActors = seriesActors.ToList())
.Build();
tvdbSeries.Banners.AddRange(seasonBanners);
}
[Test]
public void should_not_blowup()
{
Mocker.Resolve<Xbmc>().CreateForSeries(series, tvdbSeries);
}
[Test]
public void should_call_diskprovider_writeAllText()
{
Mocker.Resolve<Xbmc>().CreateForSeries(series, tvdbSeries);
Mocker.GetMock<DiskProvider>().Verify(v => v.WriteAllText(Path.Combine(series.Path, "tvshow.nfo"), It.IsAny<string>()), Times.Once());
}
[Test]
public void should_download_fanart()
{
Mocker.Resolve<Xbmc>().CreateForSeries(series, tvdbSeries);
Mocker.GetMock<BannerProvider>().Verify(v => v.Download(tvdbSeries.FanartPath, Path.Combine(series.Path, "fanart.jpg")), Times.Once());
}
[Test]
public void should_download_poster_when_useBanners_is_false()
{
Mocker.Resolve<Xbmc>().CreateForSeries(series, tvdbSeries);
Mocker.GetMock<BannerProvider>().Verify(v => v.Download(tvdbSeries.PosterPath, Path.Combine(series.Path, "folder.jpg")), Times.Once());
}
[Test]
public void should_download_banner_when_useBanners_is_true()
{
WithUseBanners();
Mocker.Resolve<Xbmc>().CreateForSeries(series, tvdbSeries);
Mocker.GetMock<BannerProvider>().Verify(v => v.Download(tvdbSeries.BannerPath, Path.Combine(series.Path, "folder.jpg")), Times.Once());
}
[Test]
public void should_download_season_poster_when_useBanners_is_false()
{
Mocker.Resolve<Xbmc>().CreateForSeries(series, tvdbSeries);
Mocker.GetMock<BannerProvider>().Verify(v => v.Download(It.Is<string>(s => !s.Contains("banners")), It.IsRegex(@"season\d{2}\.tbn")), Times.Exactly(2));
}
[Test]
public void should_download_season_banner_when_useBanners_is_true()
{
WithUseBanners();
Mocker.Resolve<Xbmc>().CreateForSeries(series, tvdbSeries);
Mocker.GetMock<BannerProvider>().Verify(v => v.Download(It.Is<string>(s => s.Contains("banners")), It.IsRegex(@"season\d{2}\.tbn")), Times.Exactly(2));
}
[Test]
public void should_download_special_thumb_with_proper_name()
{
WithUseBanners();
WithSpecials();
Mocker.Resolve<Xbmc>().CreateForSeries(series, tvdbSeries);
Mocker.GetMock<BannerProvider>().Verify(v => v.Download(It.Is<string>(s => s.Contains("banners")), It.IsRegex(@"season-specials.tbn")), Times.Exactly(1));
}
[Test]
public void should_not_try_to_download_fanart_if_fanart_path_is_empty()
{
WithUseBanners();
tvdbSeries.FanartPath = String.Empty;
Mocker.Resolve<Xbmc>().CreateForSeries(series, tvdbSeries);
Mocker.GetMock<BannerProvider>().Verify(v => v.Download(It.IsAny<String>(), Path.Combine(series.Path, "fanart.jpg")), Times.Never());
}
[Test]
public void should_not_try_to_download_banner_if_banner_path_is_empty()
{
WithUseBanners();
tvdbSeries.BannerPath = String.Empty;
Mocker.Resolve<Xbmc>().CreateForSeries(series, tvdbSeries);
Mocker.GetMock<BannerProvider>().Verify(v => v.Download(It.IsAny<String>(), Path.Combine(series.Path, "folder.jpg")), Times.Never());
}
[Test]
public void should_not_try_to_download_poster_if_poster_path_is_empty()
{
tvdbSeries.PosterPath = String.Empty;
Mocker.Resolve<Xbmc>().CreateForSeries(series, tvdbSeries);
Mocker.GetMock<BannerProvider>().Verify(v => v.Download(It.IsAny<String>(), Path.Combine(series.Path, "folder.jpg")), Times.Never());
}
}
}

@ -68,11 +68,11 @@ namespace NzbDrone.Core.Test.ProviderTests
public void none_unique_season_episode_number()
{
//act
var result = tvDbProvider.GetSeries(75978, true);//Family guy
var result = tvDbProvider.GetEpisodes(75978);//Family guy
//Asserts that when episodes are grouped by Season/Episode each group contains maximum of
//one item.
result.Episodes.GroupBy(e => e.SeasonNumber.ToString("000") + e.EpisodeNumber.ToString("000"))
result.GroupBy(e => e.SeasonNumber.ToString("000") + e.EpisodeNumber.ToString("000"))
.Max(e => e.Count()).Should().Be(1);
}

@ -9,7 +9,6 @@ using NzbDrone.Core.Datastore;
using NzbDrone.Core.ExternalNotification;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Instrumentation;
using NzbDrone.Core.Providers.Metadata;
using NzbDrone.Core.Providers.Search;
namespace NzbDrone.Core
@ -48,10 +47,6 @@ namespace NzbDrone.Core
container.RegisterAssemblyTypes(assembly)
.Where(t => t.IsSubclassOf(typeof(ExternalNotificationBase)))
.As<ExternalNotificationBase>().SingleInstance();
container.RegisterAssemblyTypes(assembly)
.Where(t => t.IsSubclassOf(typeof(MetadataBase)))
.As<MetadataBase>().SingleInstance();
}
private static void InitDatabase(this ContainerBuilder container)

@ -190,10 +190,6 @@
<Reference Include="System.Web.Extensions" />
<Reference Include="System.XML" />
<Reference Include="System.Xml.Linq" />
<Reference Include="TvdbLib, Version=0.8.8.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Libraries\TvdbLib.dll</HintPath>
</Reference>
<Reference Include="Twitterizer2, Version=2.4.0.26532, Culture=neutral, PublicKeyToken=69d1469eac671567, processorArchitecture=MSIL">
<HintPath>..\packages\twitterizer.2.4.0.26532\lib\net40\Twitterizer2.dll</HintPath>
</Reference>
@ -310,8 +306,6 @@
<Compile Include="Indexers\FileSharingTalk.cs" />
<Compile Include="Indexers\Omgwtfnzbs.cs" />
<Compile Include="Indexers\Wombles.cs" />
<Compile Include="Providers\Metadata\MetadataBase.cs" />
<Compile Include="Providers\Metadata\Xbmc.cs" />
<Compile Include="Providers\RecycleBinProvider.cs" />
<Compile Include="Providers\Search\DailyEpisodeSearch.cs" />
<Compile Include="Providers\Search\PartialSeasonSearch.cs" />

@ -1,68 +0,0 @@
using System;
using NLog;
using NzbDrone.Common;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Tv;
using NzbDrone.Core.Model;
using NzbDrone.Core.Providers.Core;
using NzbDrone.Core.Repository;
using TvdbLib.Data;
namespace NzbDrone.Core.Providers.Metadata
{
public abstract class MetadataBase
{
protected readonly Logger _logger;
protected readonly IConfigService _configService;
protected readonly DiskProvider _diskProvider;
protected readonly BannerProvider _bannerProvider;
protected readonly IEpisodeService _episodeService;
protected MetadataBase(IConfigService configService, DiskProvider diskProvider,
BannerProvider bannerProvider, IEpisodeService episodeService)
{
_configService = configService;
_diskProvider = diskProvider;
_bannerProvider = bannerProvider;
_episodeService = episodeService;
_logger = LogManager.GetLogger(GetType().ToString());
}
/// <summary>
/// Gets the name for the metabase provider
/// </summary>
public abstract string Name { get; }
/// <summary>
/// Creates metadata for a series
/// </summary>
/// <param name = "series">The series to create the metadata for</param>
/// <param name = "tvDbSeries">Series information from TheTvDb</param>
public abstract void CreateForSeries(Series series, TvdbSeries tvDbSeries);
/// <summary>
/// Creates metadata for the episode file
/// </summary>
/// <param name = "episodeFile">The episode file to create the metadata</param>
/// <param name = "tvDbSeries">Series information from TheTvDb</param>
public abstract void CreateForEpisodeFile(EpisodeFile episodeFile, TvdbSeries tvDbSeries);
/// <summary>
/// Removes metadata for a series
/// </summary>
/// <param name = "series">The series to create the metadata for</param>
public abstract void RemoveForSeries(Series series);
/// <summary>
/// Removes metadata for the episode file
/// </summary>
/// <param name = "episodeFile">The episode file to create the metadata</param>
public abstract void RemoveForEpisodeFile(EpisodeFile episodeFile);
public virtual string GetEpisodeGuideUrl(int seriesId)
{
return String.Format("http://www.thetvdb.com/api/{0}/series/{1}/all/en.zip", TvDbProvider.TVDB_APIKEY, seriesId);
}
}
}

@ -1,286 +0,0 @@
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using NzbDrone.Common;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Datastore;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Tv;
using NzbDrone.Core.Model;
using NzbDrone.Core.Providers.Core;
using NzbDrone.Core.Repository;
using TvdbLib.Data;
using TvdbLib.Data.Banner;
namespace NzbDrone.Core.Providers.Metadata
{
public class Xbmc : MetadataBase
{
public Xbmc(IConfigService configService, DiskProvider diskProvider,
BannerProvider bannerProvider, IEpisodeService episodeService)
: base(configService, diskProvider, bannerProvider, episodeService)
{
}
public override string Name
{
get { return "XBMC"; }
}
public override void CreateForSeries(Series series, TvdbSeries tvDbSeries)
{
//Create tvshow.nfo, fanart.jpg, folder.jpg and season##.tbn
var episodeGuideUrl = GetEpisodeGuideUrl(series.Id);
_logger.Debug("Generating tvshow.nfo for: {0}", series.Title);
var sb = new StringBuilder();
var xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Indent = false;
using (var xw = XmlWriter.Create(sb, xws))
{
var tvShow = new XElement("tvshow");
tvShow.Add(new XElement("title", tvDbSeries.SeriesName));
tvShow.Add(new XElement("rating", tvDbSeries.Rating));
tvShow.Add(new XElement("plot", tvDbSeries.Overview));
tvShow.Add(new XElement("episodeguide", new XElement("url", episodeGuideUrl)));
tvShow.Add(new XElement("episodeguideurl", episodeGuideUrl));
tvShow.Add(new XElement("mpaa", tvDbSeries.ContentRating));
tvShow.Add(new XElement("id", tvDbSeries.Id));
tvShow.Add(new XElement("genre", tvDbSeries.GenreString.Trim('|').Split('|')[0]));
tvShow.Add(new XElement("premiered", tvDbSeries.FirstAired.ToString("yyyy-MM-dd")));
tvShow.Add(new XElement("studio", tvDbSeries.Network));
foreach(var actor in tvDbSeries.TvdbActors)
{
tvShow.Add(new XElement("actor",
new XElement("name", actor.Name),
new XElement("role", actor.Role),
new XElement("thumb", "http://www.thetvdb.com/banners/" + actor.ActorImage.BannerPath)
));
}
var doc = new XDocument(tvShow);
doc.Save(xw);
_logger.Debug("Saving tvshow.nfo for {0}", series.Title);
_diskProvider.WriteAllText(Path.Combine(series.Path, "tvshow.nfo"), doc.ToString());
}
if(String.IsNullOrWhiteSpace(tvDbSeries.FanartPath))
{
_logger.Debug("Fanart does not exist for series: {0}, skipping.", series.Title);
}
else
{
if (!_diskProvider.FileExists(Path.Combine(series.Path, "fanart.jpg")))
{
_logger.Debug("Downloading fanart for: {0}", series.Title);
_bannerProvider.Download(tvDbSeries.FanartPath, Path.Combine(series.Path, "fanart.jpg"));
}
}
if (!_diskProvider.FileExists(Path.Combine(series.Path, "folder.jpg")))
{
if(_configService.MetadataUseBanners)
{
if(!String.IsNullOrWhiteSpace(tvDbSeries.BannerPath))
{
_logger.Debug("Downloading series banner for: {0}", series.Title);
_bannerProvider.Download(tvDbSeries.BannerPath, Path.Combine(series.Path, "folder.jpg"));
}
_logger.Debug("Downloading Season banners for {0}", series.Title);
DownloadSeasonThumbnails(series, tvDbSeries, TvdbSeasonBanner.Type.seasonwide);
}
else
{
if(!String.IsNullOrWhiteSpace(tvDbSeries.PosterPath))
{
_logger.Debug("Downloading series thumbnail for: {0}", series.Title);
_bannerProvider.Download(tvDbSeries.PosterPath, Path.Combine(series.Path, "folder.jpg"));
}
_logger.Debug("Downloading Season posters for {0}", series.Title);
DownloadSeasonThumbnails(series, tvDbSeries, TvdbSeasonBanner.Type.season);
}
}
}
public override void CreateForEpisodeFile(EpisodeFile episodeFile, TvdbSeries tvDbSeries)
{
//Create filename.tbn and filename.nfo
var episodes = _episodeService.GetEpisodesByFileId(episodeFile.Id);
if (!episodes.Any())
{
_logger.Debug("No episodes where found for this episode file: {0}", episodeFile.Id);
return;
}
var episodeFileThumbnail = tvDbSeries.Episodes.FirstOrDefault(
e =>
e.SeasonNumber == episodeFile.SeasonNumber &&
e.EpisodeNumber == episodes.First().EpisodeNumber);
if(episodeFileThumbnail == null || String.IsNullOrWhiteSpace(episodeFileThumbnail.BannerPath))
{
_logger.Debug("No thumbnail is available for this episode");
}
else
{
if (!_diskProvider.FileExists(episodeFile.Path.Replace(Path.GetExtension(episodeFile.Path), ".tbn")))
{
_logger.Debug("Downloading episode thumbnail for: {0}", episodeFile.Id);
_bannerProvider.Download(episodeFileThumbnail.BannerPath,
episodeFile.Path.Replace(Path.GetExtension(episodeFile.Path), ".tbn"));
}
}
_logger.Debug("Generating filename.nfo for: {0}", episodeFile.Id);
var xmlResult = String.Empty;
foreach (var episode in episodes)
{
var sb = new StringBuilder();
var xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Indent = false;
using (var xw = XmlWriter.Create(sb, xws))
{
var doc = new XDocument();
var tvdbEpisode = tvDbSeries.Episodes.FirstOrDefault(
e =>
e.Id == episode.TvDbEpisodeId);
if (tvdbEpisode == null)
{
_logger.Debug("Looking up by TvDbEpisodeId failed, trying to match via season/episode number combination");
tvdbEpisode = tvDbSeries.Episodes.FirstOrDefault(
e =>
e.SeasonNumber == episode.SeasonNumber &&
e.EpisodeNumber == episode.EpisodeNumber);
}
if (tvdbEpisode == null)
{
_logger.Debug("Unable to find episode from TvDb - skipping");
return;
}
var details = new XElement("episodedetails");
details.Add(new XElement("title", tvdbEpisode.EpisodeName));
details.Add(new XElement("season", tvdbEpisode.SeasonNumber));
details.Add(new XElement("episode", tvdbEpisode.EpisodeNumber));
details.Add(new XElement("aired", tvdbEpisode.FirstAired.ToString("yyyy-MM-dd")));
details.Add(new XElement("plot", tvdbEpisode.Overview));
details.Add(new XElement("displayseason"));
details.Add(new XElement("displayepisode"));
details.Add(new XElement("thumb", "http://www.thetvdb.com/banners/" + tvdbEpisode.BannerPath));
details.Add(new XElement("watched", "false"));
details.Add(new XElement("credits", tvdbEpisode.Writer.FirstOrDefault()));
details.Add(new XElement("director", tvdbEpisode.Directors.FirstOrDefault()));
details.Add(new XElement("rating", tvdbEpisode.Rating));
foreach(var actor in tvdbEpisode.GuestStars)
{
if (!String.IsNullOrWhiteSpace(actor))
continue;
details.Add(new XElement("actor",
new XElement("name", actor)
));
}
foreach(var actor in tvDbSeries.TvdbActors)
{
details.Add(new XElement("actor",
new XElement("name", actor.Name),
new XElement("role", actor.Role),
new XElement("thumb", "http://www.thetvdb.com/banners/" + actor.ActorImage.BannerPath)
));
}
doc.Add(details);
doc.Save(xw);
xmlResult += doc.ToString();
xmlResult += Environment.NewLine;
}
}
var filename = episodeFile.Path.Replace(Path.GetExtension(episodeFile.Path), ".nfo");
_logger.Debug("Saving episodedetails to: {0}", filename);
_diskProvider.WriteAllText(filename, xmlResult.Trim(EnvironmentProvider.NewLineChars));
}
public override void RemoveForSeries(Series series)
{
//Remove tvshow.nfo, fanart.jpg, folder.jpg and season##.tbn
_logger.Debug("Deleting series metadata for: ", series.Title);
_diskProvider.DeleteFile(Path.Combine(series.Path, "tvshow.nfo"));
_diskProvider.DeleteFile(Path.Combine(series.Path, "fanart.jpg"));
_diskProvider.DeleteFile(Path.Combine(series.Path, "fanart.jpg"));
foreach (var file in _diskProvider.GetFiles(series.Path, SearchOption.TopDirectoryOnly))
{
if (Path.GetExtension(file) != ".tbn")
continue;
if (!Path.GetFileName(file).StartsWith("season"))
continue;
_logger.Debug("Deleting season thumbnail: {0}", file);
_diskProvider.DeleteFile(file);
}
}
public override void RemoveForEpisodeFile(EpisodeFile episodeFile)
{
//Remove filename.tbn and filename.nfo
_logger.Debug("Deleting episode metadata for: {0}", episodeFile);
_diskProvider.DeleteFile(episodeFile.Path.Replace(Path.GetExtension(episodeFile.Path), ".nfo"));
_diskProvider.DeleteFile(episodeFile.Path.Replace(Path.GetExtension(episodeFile.Path), ".tbn"));
}
private void DownloadSeasonThumbnails(Series series, TvdbSeries tvDbSeries, TvdbSeasonBanner.Type bannerType)
{
var seasons = tvDbSeries.SeasonBanners.Where(s => s.BannerType == bannerType).Select(s => s.Season);
foreach (var season in seasons)
{
var banner = tvDbSeries.SeasonBanners.FirstOrDefault(b => b.BannerType == bannerType && b.Season == season);
_logger.Debug("Downloading banner for Season: {0} Series: {1}", season, series.Title);
if (season == 0)
{
if (!_diskProvider.FileExists(Path.Combine(series.Path, "season-specials.tbn")))
{
_bannerProvider.Download(banner.BannerPath,
Path.Combine(series.Path, "season-specials.tbn"));
}
}
else
{
if (!_diskProvider.FileExists(Path.Combine(series.Path, String.Format("season{0:00}.tbn", season))))
{
_bannerProvider.Download(banner.BannerPath,
Path.Combine(series.Path, String.Format("season{0:00}.tbn", season)));
}
}
}
}
}
}

@ -1,38 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using NLog;
using NzbDrone.Common;
using NzbDrone.Core.Tv;
using TvdbLib;
using TvdbLib.Cache;
using TvdbLib.Data;
using TvdbLanguage = TvdbLib.Data.TvdbLanguage;
using NzbDrone.Common;
namespace NzbDrone.Core.Providers
{
public class TvDbProvider
{
private readonly EnvironmentProvider _environmentProvider;
public const string TVDB_APIKEY = "5D2D188E86E07F4F";
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
private readonly TvdbHandler _handler;
private readonly Tvdb.Tvdb _handlerV2;
public TvDbProvider(EnvironmentProvider environmentProvider)
{
_environmentProvider = environmentProvider;
_handler = new TvdbHandler(new XmlCacheProvider(_environmentProvider.GetCacheFolder()), TVDB_APIKEY);
_handlerV2 = new Tvdb.Tvdb(TVDB_APIKEY);
}
public TvDbProvider()
{
_handlerV2 = new Tvdb.Tvdb(TVDB_APIKEY);
}
public virtual List<Series> SearchSeries(string title)
@ -56,38 +44,63 @@ namespace NzbDrone.Core.Providers
return searchResult;
}
public virtual TvdbSeries GetSeries(int tvDbSeriesId, bool loadEpisodes, bool loadActors = false)
public virtual Series GetSeries(int tvDbSeriesId)
{
lock (_handler)
{
logger.Debug("Fetching SeriesId'{0}' from tvdb", tvDbSeriesId);
var result = _handler.GetSeries(tvDbSeriesId, TvdbLanguage.DefaultLanguage, loadEpisodes, loadActors, true, true);
//Remove duplicated episodes
var episodes = result.Episodes.OrderByDescending(e => e.FirstAired).ThenByDescending(e => e.EpisodeName)
.GroupBy(e => e.SeriesId.ToString("000000") + e.SeasonNumber.ToString("000") + e.EpisodeNumber.ToString("000"))
.Select(e => e.First());
var tvDbSeries = _handlerV2.GetSeriesBaseRecord("http://thetvdb.com", tvDbSeriesId);
result.Episodes = episodes.Where(episode => !string.IsNullOrWhiteSpace(episode.EpisodeName) || (episode.FirstAired < DateTime.Now.AddDays(2) && episode.FirstAired.Year > 1900)).ToList();
var series = new Series();
series.Title = tvDbSeries.SeriesName;
series.AirTime = CleanAirsTime(tvDbSeries.Airs_Time);
series.Overview = tvDbSeries.Overview;
series.Status = tvDbSeries.Status;
series.Language = tvDbSeries.Language ?? string.Empty;
series.CleanTitle = Parser.NormalizeTitle(tvDbSeries.SeriesName);
series.LastInfoSync = DateTime.Now;
if (tvDbSeries.Runtime.HasValue)
{
series.Runtime = Convert.ToInt32(tvDbSeries.Runtime);
}
series.BannerUrl = tvDbSeries.banner;
series.Network = tvDbSeries.Network;
return result;
if (tvDbSeries.FirstAired.HasValue && tvDbSeries.FirstAired.Value.Year > 1900)
{
series.FirstAired = tvDbSeries.FirstAired.Value.Date;
}
else
{
series.FirstAired = null;
}
return series;
}
public virtual IList<Episode> GetEpisodes(int tvDbSeriesId)
{
var series = GetSeries(tvDbSeriesId, true);
var seriesRecord = _handlerV2.GetSeriesFullRecord("http://thetvdb.com", tvDbSeriesId);
var tvdbEpisodes = seriesRecord.Episodes.OrderByDescending(e => e.FirstAired).ThenByDescending(e => e.EpisodeName)
.GroupBy(e => e.seriesid.ToString("000000") + e.SeasonNumber.ToString("000") + e.EpisodeNumber.ToString("000"))
.Select(e => e.First());
var episodes = new List<Episode>();
foreach (var tvDbEpisode in series.Episodes)
foreach (var tvDbEpisode in tvdbEpisodes)
{
var episode = new Episode();
episode.TvDbEpisodeId = tvDbEpisode.Id;
episode.TvDbEpisodeId = tvDbEpisode.id;
episode.EpisodeNumber = tvDbEpisode.EpisodeNumber;
episode.SeasonNumber = tvDbEpisode.SeasonNumber;
episode.AbsoluteEpisodeNumber = tvDbEpisode.AbsoluteNumber;
episode.AbsoluteEpisodeNumber = tvDbEpisode.absolute_number.ParseInt32();
episode.Title = tvDbEpisode.EpisodeName;
episode.Overview = tvDbEpisode.Overview;
@ -105,5 +118,30 @@ namespace NzbDrone.Core.Providers
return episodes;
}
/// <summary>
/// Cleans up the AirsTime Component from TheTVDB since it can be garbage that comes in.
/// </summary>
/// <param name = "rawTime">The TVDB AirsTime</param>
/// <returns>String that contains the AirTimes</returns>
private static readonly Regex timeRegex = new Regex(@"^(?<time>\d+:?\d*)\W*(?<meridiem>am|pm)?", RegexOptions.IgnoreCase | RegexOptions.Compiled);
private static string CleanAirsTime(string rawTime)
{
var match = timeRegex.Match(rawTime);
var time = match.Groups["time"].Value;
var meridiem = match.Groups["meridiem"].Value;
//Lets assume that a string that doesn't contain a Merideim is aired at night... So we'll add it
if (String.IsNullOrEmpty(meridiem))
meridiem = "PM";
DateTime dateTime;
if (String.IsNullOrEmpty(time) || !DateTime.TryParse(time + " " + meridiem.ToUpper(), out dateTime))
return String.Empty;
return dateTime.ToString("hh:mm tt");
}
}
}

@ -24,7 +24,7 @@ namespace NzbDrone.Core.Tv
public Boolean Ignored { get; set; }
public PostDownloadStatusType PostDownloadStatus { get; set; }
public int AbsoluteEpisodeNumber { get; set; }
public Nullable<Int32> AbsoluteEpisodeNumber { get; set; }
public int SceneSeasonNumber { get; set; }
public int SceneEpisodeNumber { get; set; }

@ -7,7 +7,6 @@ using NzbDrone.Core.Datastore;
using NzbDrone.Core.Download;
using NzbDrone.Core.Model;
using NzbDrone.Core.Providers;
using TvdbLib.Data;
namespace NzbDrone.Core.Tv
{

@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using NLog;
using NzbDrone.Common.EnsureThat;
using NzbDrone.Common.Eventing;
@ -62,23 +61,19 @@ namespace NzbDrone.Core.Tv
public Series UpdateSeriesInfo(int seriesId)
{
var series = _seriesRepository.Get(seriesId);
var tvDbSeries = _tvDbProvider.GetSeries(series.TvDbId, false, true);
var tvDbSeries = _tvDbProvider.GetSeries(series.TvDbId);
series.Title = tvDbSeries.SeriesName;
series.AirTime = CleanAirsTime(tvDbSeries.AirsTime);
series.Title = tvDbSeries.Title;
series.AirTime = tvDbSeries.AirTime;
series.Overview = tvDbSeries.Overview;
series.Status = tvDbSeries.Status;
series.Language = tvDbSeries.Language != null ? tvDbSeries.Language.Abbriviation : string.Empty;
series.CleanTitle = Parser.NormalizeTitle(tvDbSeries.SeriesName);
series.Language = tvDbSeries.Language;
series.CleanTitle = tvDbSeries.CleanTitle;
series.LastInfoSync = DateTime.Now;
series.Runtime = (int)tvDbSeries.Runtime;
series.BannerUrl = tvDbSeries.BannerPath;
series.Runtime = tvDbSeries.Runtime;
series.BannerUrl = tvDbSeries.BannerUrl;
series.Network = tvDbSeries.Network;
if (tvDbSeries.FirstAired.Year > 1900)
series.FirstAired = tvDbSeries.FirstAired.Date;
else
series.FirstAired = null;
series.FirstAired = tvDbSeries.FirstAired;
try
{
@ -169,29 +164,6 @@ namespace NzbDrone.Core.Tv
_seriesRepository.SetSeriesType(seriesId, seriesType);
}
/// <summary>
/// Cleans up the AirsTime Component from TheTVDB since it can be garbage that comes in.
/// </summary>
/// <param name = "rawTime">The TVDB AirsTime</param>
/// <returns>String that contains the AirTimes</returns>
private static readonly Regex timeRegex = new Regex(@"^(?<time>\d+:?\d*)\W*(?<meridiem>am|pm)?", RegexOptions.IgnoreCase | RegexOptions.Compiled);
private static string CleanAirsTime(string rawTime)
{
var match = timeRegex.Match(rawTime);
var time = match.Groups["time"].Value;
var meridiem = match.Groups["meridiem"].Value;
//Lets assume that a string that doesn't contain a Merideim is aired at night... So we'll add it
if (String.IsNullOrEmpty(meridiem))
meridiem = "PM";
DateTime dateTime;
if (String.IsNullOrEmpty(time) || !DateTime.TryParse(time + " " + meridiem.ToUpper(), out dateTime))
return String.Empty;
return dateTime.ToString("hh:mm tt");
}
}
}

@ -127,6 +127,6 @@ namespace NzbDrone.Core.Tvdb
public int? seasonid { get; set; }
[XmlElement]
public int? seriesid { get; set; }
public int seriesid { get; set; }
}
}

Loading…
Cancel
Save