From 9b1d5e903cfe530afea7a2371f1f0474acb64d8d Mon Sep 17 00:00:00 2001 From: Frank Laub Date: Sun, 27 Jun 2010 19:43:15 -0700 Subject: [PATCH] Support for EnableCache. Update to latest contrib --- contrib | 2 +- src/DotWeb.Translator/TranslationEngine.cs | 10 +--------- src/DotWeb.Utility/Cecil/AssemblyResolver.cs | 10 +++++++++- src/DotWeb.Web/ClientCodeRenderer.cs | 1 - test/DotWeb.Functional.Test/Server/Web.config | 2 +- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/contrib b/contrib index 3968bf0..dbbe37c 160000 --- a/contrib +++ b/contrib @@ -1 +1 @@ -Subproject commit 3968bf0891c541237f54a5b86ab5d5434510b217 +Subproject commit dbbe37c4a9564f391425764f586d3b501e59059e diff --git a/src/DotWeb.Translator/TranslationEngine.cs b/src/DotWeb.Translator/TranslationEngine.cs index 14e583e..3baa0bb 100644 --- a/src/DotWeb.Translator/TranslationEngine.cs +++ b/src/DotWeb.Translator/TranslationEngine.cs @@ -47,15 +47,7 @@ public class TranslationEngine var asmDependencies = new List(); context.GenerateMethod(method, true, asmDependencies); this.generator.WriteEntryPoint(type); - - //string[] ret = new string[asmDependencies.Count]; - //for (int i = 0; i < ret.Length; i++) { - // var asm = asmDependencies[i]; - // var path = asm.MainModule.Image.FileInformation.FullName; - // ret[i] = path; - //} - //return ret; - return asmDependencies.Select(x => x.Name.Name).ToArray(); + return asmDependencies.Select(x => this.resolver.GetAbsolutePath(x.Name)).ToArray(); } /// diff --git a/src/DotWeb.Utility/Cecil/AssemblyResolver.cs b/src/DotWeb.Utility/Cecil/AssemblyResolver.cs index e914d0f..0964343 100644 --- a/src/DotWeb.Utility/Cecil/AssemblyResolver.cs +++ b/src/DotWeb.Utility/Cecil/AssemblyResolver.cs @@ -34,6 +34,8 @@ public abstract class BaseAssemblyResolver : IAssemblyResolver private ISymbolReaderProvider provider; + protected Dictionary asmPaths = new Dictionary(); + public void AddSearchDirectory(string directory) { directories.Add(directory); } @@ -90,7 +92,9 @@ public abstract class BaseAssemblyResolver : IAssemblyResolver SymbolReaderProvider = readSymbols ? this.provider : null }; - return ModuleDefinition.ReadModule(file, readerParameters).Assembly; + var asmDef = ModuleDefinition.ReadModule(file, readerParameters).Assembly; + this.asmPaths.Add(asmDef.Name.Name, file); + return asmDef; } public virtual AssemblyDefinition Resolve(AssemblyNameReference name) { @@ -298,6 +302,10 @@ public class AssemblyResolver : BaseAssemblyResolver } return ret; } + + public string GetAbsolutePath(AssemblyNameReference asmRef) { + return this.asmPaths[asmRef.Name]; + } } } diff --git a/src/DotWeb.Web/ClientCodeRenderer.cs b/src/DotWeb.Web/ClientCodeRenderer.cs index b0fe814..e8d9860 100644 --- a/src/DotWeb.Web/ClientCodeRenderer.cs +++ b/src/DotWeb.Web/ClientCodeRenderer.cs @@ -39,7 +39,6 @@ namespace DotWeb.Web public class ClientCodeRenderer { private const string DotWebMimeType = "application/x-dotweb"; - private const string DotWebHostedMode = "DotWeb.HostedMode"; private readonly IHttpContext context; private readonly bool isDebug; diff --git a/test/DotWeb.Functional.Test/Server/Web.config b/test/DotWeb.Functional.Test/Server/Web.config index 854d7ef..3d17bc7 100644 --- a/test/DotWeb.Functional.Test/Server/Web.config +++ b/test/DotWeb.Functional.Test/Server/Web.config @@ -10,7 +10,7 @@ - +