Permalink
Browse files

added custom ActionValueBinder for beta (MVC model binding) behavior

  • Loading branch information...
1 parent 1bff73a commit 4254b86de3a25717d67453ef85c2af253f7d2a9c unknown committed Jun 4, 2012
Showing with 6,525 additions and 3,325 deletions.
  1. +2 −2 RestBugs Solution/RestBugs.ConsoleClient/RestBugs.ConsoleClient.csproj
  2. +1 −1 RestBugs Solution/RestBugs.ConsoleClient/packages.config
  3. +5 −5 RestBugs Solution/RestBugs.ConsoleHost/RestBugs.ConsoleHost.csproj
  4. +4 −4 RestBugs Solution/RestBugs.ConsoleHost/packages.config
  5. +4 −4 RestBugs Solution/RestBugs.Services.Specs/RestBugs.Services.Specs.csproj
  6. +3 −3 RestBugs Solution/RestBugs.Services.Specs/packages.config
  7. +2 −2 RestBugs Solution/RestBugs.Services/Formatters/RazorHtmlMediaTypeFormatter.cs
  8. +90 −0 RestBugs Solution/RestBugs.Services/Infrastructure/MvcActionValueBinder.cs
  9. +5 −4 RestBugs Solution/RestBugs.Services/RestBugs.Services.csproj
  10. +2 −0 RestBugs Solution/RestBugs.Services/ServiceConfiguration.cs
  11. +1 −1 RestBugs Solution/RestBugs.Services/Services/BacklogController.cs
  12. +3 −3 RestBugs Solution/RestBugs.Services/packages.config
  13. +5 −5 RestBugs Solution/RestBugs.Web/RestBugs.Web.csproj
  14. BIN RestBugs Solution/RestBugs.Web/Temp_03bd11811f124fad9aa150523d794ac7.dll
  15. +8 −0 RestBugs Solution/RestBugs.Web/Web.config
  16. +4 −4 RestBugs Solution/RestBugs.Web/packages.config
  17. BIN ...kages/Microsoft.AspNet.WebApi.Client.4.0.20505.0/Microsoft.AspNet.WebApi.Client.4.0.20505.0.nupkg
  18. BIN ...tion/packages/Microsoft.AspNet.WebApi.Client.4.0.20505.0/lib/net40/System.Net.Http.Formatting.dll
  19. +0 −1,121 ...tion/packages/Microsoft.AspNet.WebApi.Client.4.0.20505.0/lib/net40/System.Net.Http.Formatting.xml
  20. BIN ...kages/Microsoft.AspNet.WebApi.Client.4.0.20604.0/Microsoft.AspNet.WebApi.Client.4.0.20604.0.nupkg
  21. BIN ...tion/packages/Microsoft.AspNet.WebApi.Client.4.0.20604.0/lib/net40/System.Net.Http.Formatting.dll
  22. +1,489 −0 ...tion/packages/Microsoft.AspNet.WebApi.Client.4.0.20604.0/lib/net40/System.Net.Http.Formatting.xml
  23. BIN .../packages/Microsoft.AspNet.WebApi.Core.4.0.20505.0/Microsoft.AspNet.WebApi.Core.4.0.20505.0.nupkg
  24. BIN RestBugs Solution/packages/Microsoft.AspNet.WebApi.Core.4.0.20505.0/lib/net40/System.Web.Http.dll
  25. +0 −2,015 RestBugs Solution/packages/Microsoft.AspNet.WebApi.Core.4.0.20505.0/lib/net40/System.Web.Http.xml
  26. BIN .../packages/Microsoft.AspNet.WebApi.Core.4.0.20604.0/Microsoft.AspNet.WebApi.Core.4.0.20604.0.nupkg
  27. +13 −0 RestBugs Solution/packages/Microsoft.AspNet.WebApi.Core.4.0.20604.0/content/web.config.transform
  28. BIN RestBugs Solution/packages/Microsoft.AspNet.WebApi.Core.4.0.20604.0/lib/net40/System.Web.Http.dll
  29. +4,661 −0 RestBugs Solution/packages/Microsoft.AspNet.WebApi.Core.4.0.20604.0/lib/net40/System.Web.Http.xml
  30. BIN ...s/Microsoft.AspNet.WebApi.SelfHost.4.0.20505.0/Microsoft.AspNet.WebApi.SelfHost.4.0.20505.0.nupkg
  31. BIN ...tion/packages/Microsoft.AspNet.WebApi.SelfHost.4.0.20505.0/lib/net40/System.Web.Http.SelfHost.dll
  32. +0 −145 ...tion/packages/Microsoft.AspNet.WebApi.SelfHost.4.0.20505.0/lib/net40/System.Web.Http.SelfHost.xml
  33. BIN ...s/Microsoft.AspNet.WebApi.SelfHost.4.0.20604.0/Microsoft.AspNet.WebApi.SelfHost.4.0.20604.0.nupkg
  34. BIN ...tion/packages/Microsoft.AspNet.WebApi.SelfHost.4.0.20604.0/lib/net40/System.Web.Http.SelfHost.dll
  35. +174 −0 ...tion/packages/Microsoft.AspNet.WebApi.SelfHost.4.0.20604.0/lib/net40/System.Web.Http.SelfHost.xml
  36. BIN ...ges/Microsoft.AspNet.WebApi.WebHost.4.0.20505.0/Microsoft.AspNet.WebApi.WebHost.4.0.20505.0.nupkg
  37. BIN ...lution/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20505.0/lib/net40/System.Web.Http.WebHost.dll
  38. BIN ...ges/Microsoft.AspNet.WebApi.WebHost.4.0.20604.0/Microsoft.AspNet.WebApi.WebHost.4.0.20604.0.nupkg
  39. BIN ...lution/packages/Microsoft.AspNet.WebApi.WebHost.4.0.20604.0/lib/net40/System.Web.Http.WebHost.dll
  40. +45 −5 ....4.0.20505.0 → Microsoft.AspNet.WebApi.WebHost.4.0.20604.0}/lib/net40/System.Web.Http.WebHost.xml
  41. BIN RestBugs Solution/packages/Microsoft.Net.Http.2.0.20505.0/Microsoft.Net.Http.2.0.20505.0.nupkg
  42. BIN RestBugs Solution/packages/Microsoft.Net.Http.2.0.20505.0/lib/net40/System.Net.Http.dll
  43. BIN RestBugs Solution/packages/Microsoft.Net.Http.2.0.20604.0/Microsoft.Net.Http.2.0.20604.0.nupkg
  44. BIN ...t.Net.Http.2.0.20505.0 → Microsoft.Net.Http.2.0.20604.0}/lib/net40/System.Net.Http.WebRequest.dll
  45. 0 ...t.Net.Http.2.0.20505.0 → Microsoft.Net.Http.2.0.20604.0}/lib/net40/System.Net.Http.WebRequest.xml
  46. BIN RestBugs Solution/packages/Microsoft.Net.Http.2.0.20604.0/lib/net40/System.Net.Http.dll
  47. 0 ...s/{Microsoft.Net.Http.2.0.20505.0 → Microsoft.Net.Http.2.0.20604.0}/lib/net40/System.Net.Http.xml
  48. +4 −1 aspnet webapi migration-toRC.txt
@@ -41,11 +41,11 @@
<Reference Include="System.Core" />
<Reference Include="System.Net.Http">
<Private>True</Private>
- <HintPath>..\packages\Microsoft.Net.Http.2.0.20505.0\lib\net40\System.Net.Http.dll</HintPath>
+ <HintPath>..\packages\Microsoft.Net.Http.2.0.20604.0\lib\net40\System.Net.Http.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.WebRequest">
<Private>True</Private>
- <HintPath>..\packages\Microsoft.Net.Http.2.0.20505.0\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
+ <HintPath>..\packages\Microsoft.Net.Http.2.0.20604.0\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
- <package id="Microsoft.Net.Http" version="2.0.20505.0" />
+ <package id="Microsoft.Net.Http" version="2.0.20604.0" />
</packages>
@@ -47,20 +47,20 @@
<Reference Include="System.Core" />
<Reference Include="System.Net.Http">
<Private>True</Private>
- <HintPath>..\packages\Microsoft.Net.Http.2.0.20505.0\lib\net40\System.Net.Http.dll</HintPath>
+ <HintPath>..\packages\Microsoft.Net.Http.2.0.20604.0\lib\net40\System.Net.Http.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.4.0.20505.0\lib\net40\System.Net.Http.Formatting.dll</HintPath>
+ <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.4.0.20604.0\lib\net40\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.WebRequest">
<Private>True</Private>
- <HintPath>..\packages\Microsoft.Net.Http.2.0.20505.0\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
+ <HintPath>..\packages\Microsoft.Net.Http.2.0.20604.0\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.4.0.20505.0\lib\net40\System.Web.Http.dll</HintPath>
+ <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.4.0.20604.0\lib\net40\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.SelfHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <HintPath>..\packages\Microsoft.AspNet.WebApi.SelfHost.4.0.20505.0\lib\net40\System.Web.Http.SelfHost.dll</HintPath>
+ <HintPath>..\packages\Microsoft.AspNet.WebApi.SelfHost.4.0.20604.0\lib\net40\System.Web.Http.SelfHost.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="Microsoft.CSharp" />
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
- <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20505.0" />
- <package id="Microsoft.AspNet.WebApi.Core" version="4.0.20505.0" />
- <package id="Microsoft.AspNet.WebApi.SelfHost" version="4.0.20505.0" />
- <package id="Microsoft.Net.Http" version="2.0.20505.0" />
+ <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20604.0" />
+ <package id="Microsoft.AspNet.WebApi.Core" version="4.0.20604.0" />
+ <package id="Microsoft.AspNet.WebApi.SelfHost" version="4.0.20604.0" />
+ <package id="Microsoft.Net.Http" version="2.0.20604.0" />
<package id="Newtonsoft.Json" version="4.5.6" />
<package id="Ninject" version="2.2.1.4" />
</packages>
@@ -52,17 +52,17 @@
<Reference Include="System.Core" />
<Reference Include="System.Net.Http">
<Private>True</Private>
- <HintPath>..\packages\Microsoft.Net.Http.2.0.20505.0\lib\net40\System.Net.Http.dll</HintPath>
+ <HintPath>..\packages\Microsoft.Net.Http.2.0.20604.0\lib\net40\System.Net.Http.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.4.0.20505.0\lib\net40\System.Net.Http.Formatting.dll</HintPath>
+ <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.4.0.20604.0\lib\net40\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.WebRequest">
<Private>True</Private>
- <HintPath>..\packages\Microsoft.Net.Http.2.0.20505.0\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
+ <HintPath>..\packages\Microsoft.Net.Http.2.0.20604.0\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.4.0.20505.0\lib\net40\System.Web.Http.dll</HintPath>
+ <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.4.0.20604.0\lib\net40\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Machine.Specifications" version="0.5.5.0" />
- <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20505.0" />
- <package id="Microsoft.AspNet.WebApi.Core" version="4.0.20505.0" />
- <package id="Microsoft.Net.Http" version="2.0.20505.0" />
+ <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20604.0" />
+ <package id="Microsoft.AspNet.WebApi.Core" version="4.0.20604.0" />
+ <package id="Microsoft.Net.Http" version="2.0.20604.0" />
<package id="Moq" version="4.0.10827" />
<package id="Newtonsoft.Json" version="4.5.6" />
</packages>
@@ -20,9 +20,9 @@ public override bool CanWriteType(Type type)
return true;
}
- public override Task WriteToStreamAsync(Type type, object value, Stream stream, HttpContentHeaders contentHeaders, TransportContext transportContext)
+ public override Task WriteToStreamAsync(Type type, object value, Stream writeStream, System.Net.Http.HttpContent content, TransportContext transportContext)
{
- return Task.Factory.StartNew(() => WriteStream(value, stream));
+ return Task.Factory.StartNew(() => WriteStream(value, writeStream));
}
static void WriteStream(object value, Stream stream)
@@ -0,0 +1,90 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.Specialized;
+using System.Globalization;
+using System.Linq;
+using System.Net.Http;
+using System.Net.Http.Formatting;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Web.Http;
+using System.Web.Http.Controllers;
+using System.Web.Http.ModelBinding;
+using System.Web.Http.ValueProviders;
+using System.Web.Http.ValueProviders.Providers;
+
+namespace RestBugs.Services.Infrastructure
+{
+ //ref: http://blogs.msdn.com/b/jmstall/archive/2012/04/18/mvc-style-parameter-binding-for-webapi.aspx
+ // Binder with MVC semantics. Treat the body as KeyValue pairs and model bind it.
+ public class MvcActionValueBinder : DefaultActionValueBinder
+ {
+ // Per-request storage, uses the Request.Properties bag. We need a unique key into the bag.
+ private const string Key = "5DC187FB-BFA0-462A-AB93-9E8036871EC8";
+
+ public override HttpActionBinding GetBinding(HttpActionDescriptor actionDescriptor)
+ {
+ MvcActionBinding actionBinding = new MvcActionBinding();
+
+ HttpParameterDescriptor[] parameters = actionDescriptor.GetParameters().ToArray();
+ HttpParameterBinding[] binders = Array.ConvertAll(parameters, p => DetermineBinding(actionBinding, p));
+
+ actionBinding.ParameterBindings = binders;
+
+ return actionBinding;
+ }
+
+ private HttpParameterBinding DetermineBinding(MvcActionBinding actionBinding, HttpParameterDescriptor parameter)
+ {
+ HttpConfiguration config = parameter.Configuration;
+
+ var attr = new ModelBinderAttribute(); // use default settings
+
+ ModelBinderProvider provider = attr.GetModelBinderProvider(config);
+ IModelBinder binder = provider.GetBinder(config, parameter.ParameterType);
+
+ // Alternatively, we could put this ValueProviderFactory in the global config.
+ List<ValueProviderFactory> vpfs = new List<ValueProviderFactory>(attr.GetValueProviderFactories(config));
+ vpfs.Add(new BodyValueProviderFactory());
+
+ return new ModelBinderParameterBinding(parameter, binder, vpfs);
+ }
+
+ // Derive from ActionBinding so that we have a chance to read the body once and then share that with all the parameters.
+ private class MvcActionBinding : HttpActionBinding
+ {
+ // Read the body upfront , add as a ValueProvider
+ public override Task ExecuteBindingAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
+ {
+ HttpRequestMessage request = actionContext.ControllerContext.Request;
+ HttpContent content = request.Content;
+ if (content != null)
+ {
+ FormDataCollection fd = content.ReadAsAsync<FormDataCollection>().Result;
+ if (fd != null)
+ {
+ // NameValueCollection nvc = fd.ReadAsNameValueCollection();
+
+ IValueProvider vp = new NameValuePairsValueProvider(fd, CultureInfo.InvariantCulture); // NameValueCollectionValueProvider(nvc, CultureInfo.InvariantCulture);
+
+ request.Properties.Add(Key, vp);
+ }
+ }
+
+ return base.ExecuteBindingAsync(actionContext, cancellationToken);
+ }
+ }
+
+ // Get a value provider over the body. This can be shared by all parameters.
+ // This gets the values computed in MvcActionBinding.
+ private class BodyValueProviderFactory : ValueProviderFactory
+ {
+ public override IValueProvider GetValueProvider(HttpActionContext actionContext)
+ {
+ object vp;
+ actionContext.Request.Properties.TryGetValue(Key, out vp);
+ return (IValueProvider)vp; // can be null
+ }
+ }
+ }
+}
@@ -48,18 +48,18 @@
<Reference Include="System.Core" />
<Reference Include="System.Net.Http">
<Private>True</Private>
- <HintPath>..\packages\Microsoft.Net.Http.2.0.20505.0\lib\net40\System.Net.Http.dll</HintPath>
+ <HintPath>..\packages\Microsoft.Net.Http.2.0.20604.0\lib\net40\System.Net.Http.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.4.0.20505.0\lib\net40\System.Net.Http.Formatting.dll</HintPath>
+ <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.4.0.20604.0\lib\net40\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.WebRequest">
<Private>True</Private>
- <HintPath>..\packages\Microsoft.Net.Http.2.0.20505.0\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
+ <HintPath>..\packages\Microsoft.Net.Http.2.0.20604.0\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.4.0.20505.0\lib\net40\System.Web.Http.dll</HintPath>
+ <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.4.0.20604.0\lib\net40\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
@@ -73,6 +73,7 @@
<Compile Include="AutoMapperConfig.cs" />
<Compile Include="Infrastructure\DebuggingExceptionFilter.cs" />
<Compile Include="Formatters\RazorHtmlMediaTypeFormatter.cs" />
+ <Compile Include="Infrastructure\MvcActionValueBinder.cs" />
<Compile Include="Infrastructure\TemplateBase.cs" />
<Compile Include="Infrastructure\TemplateEngine.cs" />
<Compile Include="MessageHandlers\EtagMessageHandler.cs" />
@@ -4,6 +4,7 @@
using RestBugs.Services.MessageHandlers;
using RestBugs.Services.Model;
using RestBugs.Services.Infrastructure;
+using System.Web.Http.Controllers;
namespace RestBugs.Services
{
@@ -18,6 +19,7 @@ public static class ServiceConfiguration
var kernel = new StandardKernel();
kernel.Bind<IBugRepository>().To<StaticBugRepository>();
+ kernel.Bind<IActionValueBinder>().To<MvcActionValueBinder>();
config.DependencyResolver = new NinjectDependencyResolver(kernel);
@@ -34,7 +34,7 @@ private IEnumerable<BugDTO> GetBacklogBugDtos()
return dtos;
}
- public HttpResponseMessage Post (BugDTO dto, string comments)
+ public HttpResponseMessage Post (BugDTO dto, string comments=null)
{
Bug bug;
if(dto.Id != 0)
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AutoMapper" version="2.1.265" />
- <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20505.0" />
- <package id="Microsoft.AspNet.WebApi.Core" version="4.0.20505.0" />
- <package id="Microsoft.Net.Http" version="2.0.20505.0" />
+ <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20604.0" />
+ <package id="Microsoft.AspNet.WebApi.Core" version="4.0.20604.0" />
+ <package id="Microsoft.Net.Http" version="2.0.20604.0" />
<package id="Newtonsoft.Json" version="4.5.6" />
<package id="Ninject" version="2.2.1.4" />
</packages>
@@ -62,21 +62,21 @@
<Reference Include="System.Data.Entity" />
<Reference Include="System.Net.Http">
<Private>True</Private>
- <HintPath>..\packages\Microsoft.Net.Http.2.0.20505.0\lib\net40\System.Net.Http.dll</HintPath>
+ <HintPath>..\packages\Microsoft.Net.Http.2.0.20604.0\lib\net40\System.Net.Http.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.4.0.20505.0\lib\net40\System.Net.Http.Formatting.dll</HintPath>
+ <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.4.0.20604.0\lib\net40\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.WebRequest">
<Private>True</Private>
- <HintPath>..\packages\Microsoft.Net.Http.2.0.20505.0\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
+ <HintPath>..\packages\Microsoft.Net.Http.2.0.20604.0\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
</Reference>
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.4.0.20505.0\lib\net40\System.Web.Http.dll</HintPath>
+ <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.4.0.20604.0\lib\net40\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.4.0.20505.0\lib\net40\System.Web.Http.WebHost.dll</HintPath>
+ <HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.4.0.20604.0\lib\net40\System.Web.Http.WebHost.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
@@ -50,6 +50,14 @@
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
+ <handlers>
+ <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
+ <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
+ <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
+ <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+ <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+ <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+ </handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
@@ -4,10 +4,10 @@
<package id="jQuery.UI.Combined" version="1.8.11" />
<package id="jQuery.Validation" version="1.8.0" />
<package id="jQuery.vsdoc" version="1.5.1" />
- <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20505.0" />
- <package id="Microsoft.AspNet.WebApi.Core" version="4.0.20505.0" />
- <package id="Microsoft.AspNet.WebApi.WebHost" version="4.0.20505.0" />
- <package id="Microsoft.Net.Http" version="2.0.20505.0" />
+ <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20604.0" />
+ <package id="Microsoft.AspNet.WebApi.Core" version="4.0.20604.0" />
+ <package id="Microsoft.AspNet.WebApi.WebHost" version="4.0.20604.0" />
+ <package id="Microsoft.Net.Http" version="2.0.20604.0" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
<package id="Modernizr" version="1.7" />
<package id="Newtonsoft.Json" version="4.5.6" />
Oops, something went wrong.

0 comments on commit 4254b86

Please sign in to comment.