Moving MvcService and MvcHandler to a separate assembly
Tenatively named Microsoft.AspNet.Mvc.Startup, the assembly will act as an entry point into the Mvc handler \ middleware.
This commit is contained in:
parent
b51fd08bab
commit
591e21eea9
14
WebFx.sln
14
WebFx.sln
|
|
@ -43,6 +43,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{3BA657BF-2
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNet.Mvc.ModelBinding.Test.net45", "test\Microsoft.AspNet.Mvc.ModelBinding.Test\Microsoft.AspNet.Mvc.ModelBinding.Test.net45.csproj", "{42195A56-42C0-4CFF-A982-B6E24EFC6356}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNet.Mvc.Startup.net45", "src\Microsoft.AspNet.Mvc.Startup\Microsoft.AspNet.Mvc.Startup.net45.csproj", "{8E6EAA52-7132-4707-936D-F15C8B28CFBA}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNet.Mvc.Startup.k10", "src\Microsoft.AspNet.Mvc.Startup\Microsoft.AspNet.Mvc.Startup.k10.csproj", "{43ECCFDF-E646-4766-B339-F5CCD69DD6C3}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
|
@ -101,6 +105,14 @@ Global
|
|||
{42195A56-42C0-4CFF-A982-B6E24EFC6356}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{42195A56-42C0-4CFF-A982-B6E24EFC6356}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{42195A56-42C0-4CFF-A982-B6E24EFC6356}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8E6EAA52-7132-4707-936D-F15C8B28CFBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8E6EAA52-7132-4707-936D-F15C8B28CFBA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8E6EAA52-7132-4707-936D-F15C8B28CFBA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8E6EAA52-7132-4707-936D-F15C8B28CFBA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{43ECCFDF-E646-4766-B339-F5CCD69DD6C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{43ECCFDF-E646-4766-B339-F5CCD69DD6C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{43ECCFDF-E646-4766-B339-F5CCD69DD6C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{43ECCFDF-E646-4766-B339-F5CCD69DD6C3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
@ -115,11 +127,13 @@ Global
|
|||
{28AA31B2-6504-432D-8599-1501FE0B100A} = {6C2EDE5B-CA31-42DD-A352-84B10CC70C98}
|
||||
{236CDB04-8FDA-4152-9A5B-7F98C19C663A} = {6C2EDE5B-CA31-42DD-A352-84B10CC70C98}
|
||||
{64BD92BA-F313-496C-ACE6-B9C4C10C420E} = {6C2EDE5B-CA31-42DD-A352-84B10CC70C98}
|
||||
{8E6EAA52-7132-4707-936D-F15C8B28CFBA} = {6C2EDE5B-CA31-42DD-A352-84B10CC70C98}
|
||||
{0D2C8C3D-AFC3-4E1F-A6D8-9F690EE5E063} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
|
||||
{613579ED-7B96-4F5C-8DBF-D2C580257BE2} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
|
||||
{24947215-86AB-4DD0-B94E-88B1EC4DC877} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
|
||||
{DA65D56F-1C40-4D38-B1E0-BF9641A98C52} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
|
||||
{BA88E212-5889-48DC-823F-A3A67DDEF123} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
|
||||
{43ECCFDF-E646-4766-B339-F5CCD69DD6C3} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
|
||||
{501817DD-8143-4A50-888D-99896A82CD12} = {222CA408-93EE-473A-9325-D04989EC9FEF}
|
||||
{A7D7CD66-A407-4144-8AB7-07F895F87137} = {CE037E26-9EB5-48E2-B73B-06C6FF6CC9F5}
|
||||
{42195A56-42C0-4CFF-A982-B6E24EFC6356} = {3BA657BF-28B1-42DA-B5B0-1C4601FCF7B1}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,8 @@ using System;
|
|||
using System.IO;
|
||||
using Microsoft.AspNet.Abstractions;
|
||||
using Microsoft.AspNet.Mvc;
|
||||
using Microsoft.AspNet.Mvc.Razor;
|
||||
using Microsoft.AspNet.Mvc.Routing;
|
||||
using Microsoft.Owin.FileSystems;
|
||||
using Microsoft.AspNet.Mvc.Startup;
|
||||
using Owin;
|
||||
|
||||
namespace MvcSample
|
||||
|
|
@ -22,18 +21,10 @@ namespace MvcSample
|
|||
|
||||
private void ConfigureMvc(IBuilder builder)
|
||||
{
|
||||
var serviceProvider = MvcServices.Create();
|
||||
|
||||
// HACK appbase doesn't seem to work. When in VS we're pointing at bin\Debug\Net45, so move up 3 directories
|
||||
string appRoot = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, "..", "..", ".."));
|
||||
|
||||
serviceProvider.AddInstance<IFileSystem>(new PhysicalFileSystem(appRoot));
|
||||
serviceProvider.AddInstance<IMvcRazorHost>(new MvcRazorHost("Microsoft.AspNet.Mvc.Razor.RazorView<dynamic>"));
|
||||
serviceProvider.Add<ICompilationService, CscBasedCompilationService>();
|
||||
serviceProvider.Add<IRazorCompilationService, RazorCompilationService>();
|
||||
serviceProvider.Add<IVirtualPathViewFactory, VirtualPathViewFactory>();
|
||||
serviceProvider.Add<IViewEngine, RazorViewEngine>();
|
||||
|
||||
var serviceProvider = MvcServices.Create(appRoot);
|
||||
var handler = new MvcHandler(serviceProvider);
|
||||
|
||||
builder.Run(async context =>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@
|
|||
"Microsoft.AspNet.Mvc.ModelBinding" : "",
|
||||
"Microsoft.AspNet.Mvc.Rendering" : "",
|
||||
"Microsoft.AspNet.Mvc.Razor" : "",
|
||||
"Microsoft.AspNet.Mvc.Razor.Host" : ""
|
||||
"Microsoft.AspNet.Mvc.Razor.Host" : "",
|
||||
"Microsoft.AspNet.Mvc.Startup" : ""
|
||||
},
|
||||
"configurations": {
|
||||
"net45": {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Mvc.Routing;
|
||||
using Microsoft.AspNet.DependencyInjection;
|
||||
using Microsoft.AspNet.Abstractions;
|
||||
using Microsoft.AspNet.DependencyInjection;
|
||||
using Microsoft.AspNet.Mvc.Routing;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc
|
||||
{
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
using Microsoft.AspNet.DependencyInjection;
|
||||
using Microsoft.AspNet.Mvc.Razor;
|
||||
using Microsoft.Owin.FileSystems;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Startup
|
||||
{
|
||||
public static class MvcServices
|
||||
{
|
||||
public static ServiceProvider Create(string appRoot)
|
||||
{
|
||||
var services = new ServiceProvider();
|
||||
services.Add<IControllerFactory, DefaultControllerFactory>();
|
||||
services.Add<IActionInvokerFactory, ActionInvokerFactory>();
|
||||
services.Add<IActionResultHelper, ActionResultHelper>();
|
||||
services.Add<IActionResultFactory, ActionResultFactory>();
|
||||
services.Add<IActionDescriptorProvider, ActionDescriptorProvider>();
|
||||
services.Add<IActionInvokerProvider, ActionInvokerProvider>();
|
||||
|
||||
services.AddInstance<IFileSystem>(new PhysicalFileSystem(appRoot));
|
||||
services.AddInstance<IMvcRazorHost>(new MvcRazorHost("Microsoft.AspNet.Mvc.Razor.RazorView<dynamic>"));
|
||||
#if NET45
|
||||
services.Add<ICompilationService, CscBasedCompilationService>();
|
||||
#endif
|
||||
services.Add<IRazorCompilationService, RazorCompilationService>();
|
||||
services.Add<IVirtualPathViewFactory, VirtualPathViewFactory>();
|
||||
services.Add<IViewEngine, RazorViewEngine>();
|
||||
|
||||
return services;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"version" : "0.1-alpha-*",
|
||||
"dependencies": {
|
||||
"Microsoft.AspNet.Abstractions" : "0.1-alpha-*",
|
||||
"Microsoft.AspNet.DependencyInjection" : "0.1-alpha-*",
|
||||
"Microsoft.AspNet.FileSystems" : "0.1-alpha-*",
|
||||
"Microsoft.AspNet.Razor" : "0.1-alpha-*",
|
||||
"Microsoft.AspNet.Mvc": "",
|
||||
"Microsoft.AspNet.Mvc.Razor": "",
|
||||
"Microsoft.AspNet.Mvc.ModelBinding" : "",
|
||||
"Microsoft.AspNet.Mvc.Rendering" : "",
|
||||
"Microsoft.AspNet.Mvc.Razor.Host": ""
|
||||
},
|
||||
"configurations": {
|
||||
"net45": { },
|
||||
"k10" : { }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
using System;
|
||||
using Microsoft.AspNet.DependencyInjection;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc
|
||||
{
|
||||
public static class MvcServices
|
||||
{
|
||||
public static ServiceProvider Create()
|
||||
{
|
||||
var services = new ServiceProvider();
|
||||
DoCallback((service, implementation) => services.Add(service, implementation));
|
||||
return services;
|
||||
}
|
||||
|
||||
public static void DoCallback(Action<Type, Type> callback)
|
||||
{
|
||||
callback(typeof(IControllerFactory), typeof(DefaultControllerFactory));
|
||||
callback(typeof(IActionInvokerFactory), typeof(ActionInvokerFactory));
|
||||
callback(typeof(IActionResultHelper), typeof(ActionResultHelper));
|
||||
callback(typeof(IActionResultFactory), typeof(ActionResultFactory));
|
||||
|
||||
|
||||
// TODO: Should be many
|
||||
callback(typeof(IActionDescriptorProvider), typeof(ActionDescriptorProvider));
|
||||
callback(typeof(IActionInvokerProvider), typeof(ActionInvokerProvider));
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue