Browse Source

v 2.1.0.4

Former-commit-id: 8f49c40cda4ebf9cbbd4f8467a452e8e3aad6b0d
af/merge-core
JimBobSquarePants 13 years ago
parent
commit
e03e35a08d
  1. 2
      README.md
  2. 55
      src/ImageProcessor.Web/Config/ImageProcessorConfig.cs
  3. 19
      src/ImageProcessor.Web/ImageProcessor.Web.csproj
  4. 4
      src/ImageProcessor.Web/Properties/AssemblyInfo.cs
  5. 2
      src/ImageProcessor.Web/app.config
  6. BIN
      src/Nuget/ImageProcessor.1.4.1.0.nupkg
  7. BIN
      src/Nuget/ImageProcessor.Web.2.1.0.0.nupkg
  8. BIN
      src/Nuget/ImageProcessor.Web.2.1.0.1.nupkg
  9. BIN
      src/Nuget/ImageProcessor.Web.2.1.0.2.nupkg
  10. BIN
      src/Nuget/ImageProcessor.Web.2.1.0.3.nupkg
  11. 1
      src/Nuget/ImageProcessor.Web.2.1.0.4.nupkg.REMOVED.git-id
  12. 2
      src/Test/Test/Images/Thumbs.db.REMOVED.git-id
  13. 160
      src/Test/Test/Web.config

2
README.md

@ -52,7 +52,7 @@ e.g.
Using the HttpModule requires no code writing at all. Just reference the binaries and add the relevant sections to the web.config Using the HttpModule requires no code writing at all. Just reference the binaries and add the relevant sections to the web.config
Image requests suffixed with querystring parameters will then be processed and **cached to the server - up to 360,000 images** allowing for easy and efficient parsing of following requests. Image requests suffixed with querystring parameters will then be processed and **cached to the server - up to 12,960,000 images** allowing for easy and efficient parsing of following requests.
The parsing engine for the HttpModule is incredibly flexible and will **allow you to add querystring parameters in any order.** The parsing engine for the HttpModule is incredibly flexible and will **allow you to add querystring parameters in any order.**

55
src/ImageProcessor.Web/Config/ImageProcessorConfig.cs

@ -10,7 +10,11 @@ namespace ImageProcessor.Web.Config
#region Using #region Using
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Linq; using System.Linq;
using System.Reflection;
using System.Text;
using ImageProcessor.Processors; using ImageProcessor.Processors;
#endregion #endregion
@ -234,20 +238,49 @@ namespace ImageProcessor.Web.Config
{ {
if (this.GraphicsProcessors == null) if (this.GraphicsProcessors == null)
{ {
// Build a list of native IGraphicsProcessor instances. try
Type type = typeof(IGraphicsProcessor); {
IEnumerable<Type> types = // Build a list of native IGraphicsProcessor instances.
AppDomain.CurrentDomain.GetAssemblies().SelectMany(s => s.GetTypes()).Where( Type type = typeof(IGraphicsProcessor);
p => type.IsAssignableFrom(p) && p.IsClass && !p.IsAbstract).ToList(); IEnumerable<Type> types =
AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(s => s.GetTypes())
.Where(p => type.IsAssignableFrom(p) && p.IsClass && !p.IsAbstract)
.ToList();
// Create them and add. // Create them and add.
this.GraphicsProcessors = this.GraphicsProcessors =
types.Select(x => (Activator.CreateInstance(x) as IGraphicsProcessor)).ToList(); types.Select(x => (Activator.CreateInstance(x) as IGraphicsProcessor)).ToList();
// Add the available settings. // Add the available settings.
foreach (IGraphicsProcessor processor in this.GraphicsProcessors) foreach (IGraphicsProcessor processor in this.GraphicsProcessors)
{
processor.Settings = this.GetPluginSettings(processor.Name);
}
}
catch (ReflectionTypeLoadException ex)
{ {
processor.Settings = this.GetPluginSettings(processor.Name); StringBuilder sb = new StringBuilder();
foreach (Exception exception in ex.LoaderExceptions)
{
sb.AppendLine(exception.Message);
if (exception is FileNotFoundException)
{
FileNotFoundException fileNotFoundException = exception as FileNotFoundException;
if (!string.IsNullOrEmpty(fileNotFoundException.FusionLog))
{
sb.AppendLine("Fusion Log:");
sb.AppendLine(fileNotFoundException.FusionLog);
}
}
sb.AppendLine();
}
string errorMessage = sb.ToString();
// Display or log the error based on your application.
throw new Exception(errorMessage);
} }
} }
} }

19
src/ImageProcessor.Web/ImageProcessor.Web.csproj

@ -74,10 +74,6 @@
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.14-rc\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath> <HintPath>..\packages\Microsoft.Bcl.Async.1.0.14-rc\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.14.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.14-rc\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
</Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Configuration" /> <Reference Include="System.Configuration" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
@ -85,25 +81,16 @@
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\System.Data.SQLite.x86.1.0.84.0\lib\net40\System.Data.SQLite.dll</HintPath> <HintPath>..\packages\System.Data.SQLite.x86.1.0.84.0\lib\net40\System.Data.SQLite.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Data.SQLite.Linq, Version=1.0.84.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\System.Data.SQLite.x86.1.0.84.0\lib\net40\System.Data.SQLite.Linq.dll</HintPath>
</Reference>
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Net" /> <Reference Include="System.Net" />
<Reference Include="System.Runtime"> <Reference Include="System.Runtime">
<HintPath>..\packages\Microsoft.Bcl.1.0.16-rc\lib\net40\System.Runtime.dll</HintPath> <HintPath>bin\x86\Release\System.Runtime.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Threading.Tasks, Version=2.5.16.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Threading.Tasks">
<HintPath>..\packages\Microsoft.Bcl.1.0.16-rc\lib\net40\System.Threading.Tasks.dll</HintPath> <HintPath>bin\x86\Release\System.Threading.Tasks.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="System.Web" /> <Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Caching\CachedImage.cs" /> <Compile Include="Caching\CachedImage.cs" />

4
src/ImageProcessor.Web/Properties/AssemblyInfo.cs

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// //
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("2.1.0.0")] [assembly: AssemblyVersion("2.1.0.4")]
[assembly: AssemblyFileVersion("2.1.0.0")] [assembly: AssemblyFileVersion("2.1.0.4")]

2
src/ImageProcessor.Web/app.config

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<runtime> <runtime>
<assemblyBinding xmlns:bcl="urn:schemas-microsoft-com:bcl" xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyBinding xmlns:bcl="urn:schemas-microsoft-com:bcl">
<dependentAssembly bcl:name="System.Runtime"> <dependentAssembly bcl:name="System.Runtime">
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.16.0" newVersion="2.5.16.0" /> <bindingRedirect oldVersion="0.0.0.0-2.5.16.0" newVersion="2.5.16.0" />

BIN
src/Nuget/ImageProcessor.1.4.1.0.nupkg

Binary file not shown.

BIN
src/Nuget/ImageProcessor.Web.2.1.0.0.nupkg

Binary file not shown.

BIN
src/Nuget/ImageProcessor.Web.2.1.0.1.nupkg

Binary file not shown.

BIN
src/Nuget/ImageProcessor.Web.2.1.0.2.nupkg

Binary file not shown.

BIN
src/Nuget/ImageProcessor.Web.2.1.0.3.nupkg

Binary file not shown.

1
src/Nuget/ImageProcessor.Web.2.1.0.4.nupkg.REMOVED.git-id

@ -0,0 +1 @@
eaff612b7db9e40f185c91161fd9c977faec69bb

2
src/Test/Test/Images/Thumbs.db.REMOVED.git-id

@ -1 +1 @@
df51932368e72ec3c9b9897d29e27dcf20af7395 32c1c68dd25fc55293b1a21c1ea25002c53f984b

160
src/Test/Test/Web.config

@ -4,84 +4,84 @@
http://go.microsoft.com/fwlink/?LinkId=152368 http://go.microsoft.com/fwlink/?LinkId=152368
--> -->
<configuration> <configuration>
<!-- Configuration section-handler declaration area. --> <!-- Configuration section-handler declaration area. -->
<configSections> <configSections>
<sectionGroup name="imageProcessor"> <sectionGroup name="imageProcessor">
<section name="security" requirePermission="false" type="ImageProcessor.Web.Config.ImageSecuritySection, ImageProcessor.Web" /> <section name="security" requirePermission="false" type="ImageProcessor.Web.Config.ImageSecuritySection, ImageProcessor.Web" />
<section name="processing" requirePermission="false" type="ImageProcessor.Web.Config.ImageProcessingSection, ImageProcessor.Web" /> <section name="processing" requirePermission="false" type="ImageProcessor.Web.Config.ImageProcessingSection, ImageProcessor.Web" />
<section name="cache" requirePermission="false" type="ImageProcessor.Web.Config.ImageCacheSection, ImageProcessor.Web" /> <section name="cache" requirePermission="false" type="ImageProcessor.Web.Config.ImageCacheSection, ImageProcessor.Web" />
</sectionGroup> </sectionGroup>
</configSections> </configSections>
<appSettings> <appSettings>
<add key="webpages:Version" value="1.0.0.0" /> <add key="webpages:Version" value="1.0.0.0" />
<add key="ClientValidationEnabled" value="true" /> <add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings> </appSettings>
<system.web> <system.web>
<compilation debug="true" targetFramework="4.0"> <compilation debug="true" targetFramework="4.0">
<assemblies> <assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies> </assemblies>
</compilation> </compilation>
<authentication mode="Forms"> <authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" /> <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication> </authentication>
<pages> <pages>
<namespaces> <namespaces>
<add namespace="System.Web.Helpers" /> <add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" /> <add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" /> <add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" /> <add namespace="System.Web.WebPages" />
</namespaces> </namespaces>
</pages> </pages>
<httpModules> <httpModules>
<add name="ImageProcessorModule" type="ImageProcessor.Web.HttpModules.ImageProcessingModule, ImageProcessor.Web" /> <add name="ImageProcessorModule" type="ImageProcessor.Web.HttpModules.ImageProcessingModule, ImageProcessor.Web" />
</httpModules> </httpModules>
<!--Set the trust level.--> <!--Set the trust level.-->
<!--<trust level="Medium"/>--> <!--<trust level="Medium"/>-->
</system.web> </system.web>
<system.webServer> <system.webServer>
<validation validateIntegratedModeConfiguration="false" /> <validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" /> <modules runAllManagedModulesForAllRequests="true" />
</system.webServer> </system.webServer>
<runtime> <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyBinding xmlns:bcl="urn:schemas-microsoft-com:bcl" xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.16.0" newVersion="2.5.16.0" /> <bindingRedirect oldVersion="0.0.0.0-2.5.16.0" newVersion="2.5.16.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.16.0" newVersion="2.5.16.0" /> <bindingRedirect oldVersion="0.0.0.0-2.5.16.0" newVersion="2.5.16.0" />
</dependentAssembly> </dependentAssembly>
</assemblyBinding> </assemblyBinding>
</runtime> </runtime>
<imageProcessor> <imageProcessor>
<security allowRemoteDownloads="true" timeout="300000" maxBytes="524288" remotePrefix="/remote.axd"> <security allowRemoteDownloads="true" timeout="300000" maxBytes="524288" remotePrefix="/remote.axd">
<whiteList> <whiteList>
<add url="http://images.mymovies.net" /> <add url="http://images.mymovies.net" />
</whiteList> </whiteList>
</security> </security>
<cache virtualPath="~/cache" maxDays="56" /> <cache virtualPath="~/cache" maxDays="56" />
<processing> <processing>
<plugins> <plugins>
<plugin name="Resize"> <plugin name="Resize">
<settings> <settings>
<setting key="MaxWidth" value="1024" /> <setting key="MaxWidth" value="1024" />
<setting key="MaxHeight" value="768" /> <setting key="MaxHeight" value="768" />
</settings> </settings>
</plugin> </plugin>
</plugins> </plugins>
</processing> </processing>
</imageProcessor> </imageProcessor>
</configuration> </configuration>
Loading…
Cancel
Save