Switch to MVC3/Razor1 beta release

--HG--
branch : dev
This commit is contained in:
Renaud Paquay
2010-10-07 10:24:17 -07:00
parent 11a46b6b80
commit 0f4613cb18
28 changed files with 86 additions and 89 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -26,6 +26,7 @@ using Orchard.Mvc.Routes;
using Orchard.Tests.Environment.TestDependencies;
using Orchard.Tests.Stubs;
using Orchard.Tests.Utility;
using IModelBinderProvider = Orchard.Mvc.ModelBinders.IModelBinderProvider;
namespace Orchard.Tests.Environment {
[TestFixture]

View File

@@ -8,6 +8,7 @@ using NUnit.Framework;
using Orchard.Environment;
using Orchard.Mvc.ModelBinders;
using Orchard.Mvc.Routes;
using IModelBinderProvider = Orchard.Mvc.ModelBinders.IModelBinderProvider;
namespace Orchard.Tests.Environment {
[TestFixture]

View File

@@ -3,6 +3,7 @@ using System.Web.Mvc;
using System.Xml;
using System.Xml.Linq;
using Orchard.Mvc.ModelBinders;
using IModelBinderProvider = Orchard.Mvc.ModelBinders.IModelBinderProvider;
namespace Orchard.Core.XmlRpc.Models {
public class ModelBinderProvider : IModelBinderProvider, IModelBinder {

View File

@@ -83,9 +83,9 @@
<Compile Include="ViewModels\SetupViewModel.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="Views\Setup\Index.cshtml">
<None Include="Views\Setup\Index.cshtml">
<SubType>Designer</SubType>
</Content>
</None>
<Content Include="Web.config" />
</ItemGroup>
<ItemGroup>

View File

@@ -72,18 +72,43 @@
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Abstractions" />
<Reference Include="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\aspnetmvc\System.Web.Helpers.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\aspnetmvc\System.Web.Mvc.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\aspnetmvc\System.Web.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Routing" />
<Reference Include="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\aspnetmvc\System.Web.WebPages.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\aspnetmvc\System.Web.WebPages.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.Mobile" />
<Reference Include="System.Xml.Linq" />
<Reference Include="WebMatrix.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\aspnetmvc\WebMatrix.Data.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Default.aspx.cs">
@@ -163,7 +188,7 @@
<Content Include="Themes\Classic\Theme.png" />
<Content Include="Themes\Classic\Theme.txt" />
<Content Include="Themes\Classic\Views\Footer.cshtml" />
<Content Include="Themes\Classic\Views\Layout.cshtml" />
<Content Include="Themes\Classic\Views\Layout.ascx" />
<Content Include="Themes\Contoso\Content\Images\bkg.jpg" />
<Content Include="Themes\Contoso\Content\Images\comment-arrow.png" />
<Content Include="Themes\Contoso\Content\Images\content-bkg.png" />

View File

@@ -9,17 +9,17 @@
-->
<configuration>
<configSections>
<sectionGroup name="system.razor.web" type="System.Razor.Web.Configuration.SystemRazorWebSectionGroup, System.Razor.Web">
<section name="host" type="System.Razor.Web.Configuration.HostSection, System.Razor.Web" requirePermission="false" />
<section name="pages" type="System.Razor.Web.Configuration.RazorPagesSection, System.Razor.Web" requirePermission="false" />
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor" requirePermission="false" />
</sectionGroup>
</configSections>
<appSettings/>
<system.diagnostics configSource="Config\Diagnostics.config"/>
<system.razor.web>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<pages pageBaseType="Orchard.Mvc.ViewEngines.Razor.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
@@ -31,7 +31,7 @@
<add namespace="Orchard.Mvc.Html"/>
</namespaces>
</pages>
</system.razor.web>
</system.web.webPages.razor>
<!--
Set default transaction timeout to 30 minutes so that interactive debugging

View File

@@ -7,7 +7,7 @@ using Autofac;
namespace Orchard.Environment {
public class DefaultOrchardHostContainer : IOrchardHostContainer, IMvcServiceLocator {
public class DefaultOrchardHostContainer : IOrchardHostContainer, IDependencyResolver {
private readonly IContainer _container;
@@ -48,7 +48,7 @@ namespace Orchard.Environment {
TService Resolve<TService>(Type serviceType, Func<Type, TService> defaultFactory) {
object value;
return TryResolve(null, serviceType, out value) ? (TService)value : defaultFactory(serviceType);
}
}
TService Resolve<TService>(Type serviceType, string key, Func<Type, TService> defaultFactory) {
object value;
@@ -60,43 +60,12 @@ namespace Orchard.Environment {
return Resolve(typeof(TService), default(TService));
}
object IServiceProvider.GetService(Type serviceType) {
object IDependencyResolver.GetService(Type serviceType) {
// Resolve service, or null
return Resolve(serviceType, default(object));
}
object IServiceLocator.GetInstance(Type serviceType) {
// Create instance, or default ctor
return Resolve(serviceType, CreateInstance);
}
object IServiceLocator.GetInstance(Type serviceType, string key) {
// Create instance, or default ctor
return Resolve(serviceType, key, CreateInstance);
}
TService IServiceLocator.GetInstance<TService>() {
// Create instance, or default ctor
return Resolve(typeof(TService), t => (TService)CreateInstance(t));
}
TService IServiceLocator.GetInstance<TService>(string key) {
// Create instance, or default ctor
return Resolve(typeof(TService), key, t => (TService)CreateInstance(t));
}
IEnumerable<TService> IServiceLocator.GetAllInstances<TService>() {
return Resolve(typeof(IEnumerable<TService>), Enumerable.Empty<TService>());
}
IEnumerable<object> IServiceLocator.GetAllInstances(Type serviceType) {
return Resolve<IEnumerable>(typeof(IEnumerable<>).MakeGenericType(serviceType), Enumerable.Empty<object>()).Cast<object>();
}
void IMvcServiceLocator.Release(object instance) {
// Autofac manages component disposal lifecycle internally.
}
IEnumerable<object> IDependencyResolver.GetServices(Type serviceType) {
return Resolve<IEnumerable>(typeof(IEnumerable<>).MakeGenericType(serviceType), Enumerable.Empty<object>()).Cast<object>();
}
}

View File

@@ -8,6 +8,7 @@ using Orchard.Environment.Extensions.Models;
using Orchard.Logging;
using Orchard.Mvc.ModelBinders;
using Orchard.Mvc.Routes;
using IModelBinderProvider = Orchard.Mvc.ModelBinders.IModelBinderProvider;
namespace Orchard.Environment {
public class DefaultOrchardShell : IOrchardShell {

View File

@@ -3,12 +3,11 @@ using System.IO;
using System.Linq;
using System.Web.Mvc;
using System.Web.UI;
using Microsoft.WebPages;
using System.Web.WebPages;
using Orchard.Localization;
using Orchard.Mvc.ViewEngines;
using Orchard.UI.PageClass;
using Orchard.UI.PageTitle;
using Orchard.UI.Resources;
using HtmlHelper = System.Web.Mvc.HtmlHelper;
namespace Orchard.Mvc.Html {

View File

@@ -1,9 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Razor.Web;
using System.Reflection;
using System.Threading;
using System.Web.WebPages.Razor;
using Orchard.Environment;
using Orchard.Environment.Extensions.Loaders;
using Orchard.FileSystems.Dependencies;

View File

@@ -3,13 +3,13 @@ using System.Diagnostics;
using System.Web.Mvc;
namespace Orchard.Mvc.ViewEngines.Razor {
public class RazorViewEngine : CshtmlViewEngine {
[DebuggerStepThrough]
protected override bool FileExists(ControllerContext controllerContext, string virtualPath) {
if (!virtualPath.EndsWith(".cshtml", StringComparison.InvariantCultureIgnoreCase))
return false;
public class RazorViewEngine : System.Web.Mvc.RazorViewEngine {
//[DebuggerStepThrough]
//protected override bool FileExists(ControllerContext controllerContext, string virtualPath) {
// if (!virtualPath.EndsWith(".cshtml", StringComparison.InvariantCultureIgnoreCase))
// return false;
return base.FileExists(controllerContext, virtualPath);
}
// return base.FileExists(controllerContext, virtualPath);
//}
}
}

View File

@@ -50,7 +50,7 @@ namespace Orchard.Mvc.ViewEngines.Razor {
//Logger.Debug("AreaPartialViewLocationFormats (theme): \r\n\t-{0}", string.Join("\r\n\t-", areaPartialViewLocationFormats));
var viewEngine = new CshtmlViewEngine {
var viewEngine = new RazorViewEngine {
MasterLocationFormats = DisabledFormats,
ViewLocationFormats = DisabledFormats,
PartialViewLocationFormats = partialViewLocationFormats,

View File

@@ -1,8 +1,8 @@
using System;
using System.Web;
using System.Web.Mvc;
using System.Web.WebPages;
using Autofac;
using Microsoft.WebPages;
using Orchard.DisplayManagement;
using Orchard.Localization;
using Orchard.Mvc.Html;

View File

@@ -5,26 +5,26 @@ using System.Web.Mvc;
namespace Orchard.Mvc.ViewEngines.WebForms {
public class WebFormViewEngineForAspNet4 : WebFormViewEngine {
protected override bool FileExists(ControllerContext controllerContext, string virtualPath) {
try {
if (virtualPath.EndsWith(".aspx", StringComparison.InvariantCultureIgnoreCase) ||
virtualPath.EndsWith(".ascx", StringComparison.InvariantCultureIgnoreCase) ||
virtualPath.EndsWith(".master", StringComparison.InvariantCultureIgnoreCase)) {
return BuildManager.GetObjectFactory(virtualPath, false) != null;
}
return false;
}
catch (HttpException exception) {
// Reproducing base class behavior, however these this code path should
// not be followed for "not found" cases
if (exception is HttpParseException) {
throw;
}
if ((exception.GetHttpCode() != 0x194) || base.FileExists(controllerContext, virtualPath)) {
throw;
}
return false;
}
}
//protected override bool FileExists(ControllerContext controllerContext, string virtualPath) {
// try {
// if (virtualPath.EndsWith(".aspx", StringComparison.InvariantCultureIgnoreCase) ||
// virtualPath.EndsWith(".ascx", StringComparison.InvariantCultureIgnoreCase) ||
// virtualPath.EndsWith(".master", StringComparison.InvariantCultureIgnoreCase)) {
// return BuildManager.GetObjectFactory(virtualPath, false) != null;
// }
// return false;
// }
// catch (HttpException exception) {
// // Reproducing base class behavior, however these this code path should
// // not be followed for "not found" cases
// if (exception is HttpParseException) {
// throw;
// }
// if ((exception.GetHttpCode() != 0x194) || base.FileExists(controllerContext, virtualPath)) {
// throw;
// }
// return false;
// }
//}
}
}

View File

@@ -102,11 +102,6 @@
<Reference Include="Microsoft.Scripting">
<HintPath>..\..\lib\dlr\Microsoft.Scripting.dll</HintPath>
</Reference>
<Reference Include="Microsoft.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\aspnetmvc\Microsoft.WebPages.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="NHibernate, Version=2.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\fluentnhibernate\NHibernate.dll</HintPath>
@@ -124,10 +119,6 @@
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Razor.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\aspnetmvc\System.Razor.Web.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Serialization">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
@@ -141,9 +132,18 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\aspnetmvc\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\aspnetmvc\System.Web.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web.Routing">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\aspnetmvc\System.Web.WebPages.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="Yaml, Version=1.0.3370.39839, Culture=neutral, PublicKeyToken=187a3d240e44a135, processorArchitecture=MSIL">

View File

@@ -1,7 +1,7 @@
using System;
using System.Web.Mvc;
using System.Web.UI;
using Microsoft.WebPages;
using System.Web.WebPages;
namespace Orchard.UI.Resources {
public class ResourceRegister {