Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/class/System.Web/System.Web.Compilation/WebServiceCompiler.cs')
-rw-r--r--mcs/class/System.Web/System.Web.Compilation/WebServiceCompiler.cs15
1 files changed, 10 insertions, 5 deletions
diff --git a/mcs/class/System.Web/System.Web.Compilation/WebServiceCompiler.cs b/mcs/class/System.Web/System.Web.Compilation/WebServiceCompiler.cs
index 20b87415730..4df2b6b9a94 100644
--- a/mcs/class/System.Web/System.Web.Compilation/WebServiceCompiler.cs
+++ b/mcs/class/System.Web/System.Web.Compilation/WebServiceCompiler.cs
@@ -59,12 +59,15 @@ namespace System.Web.Compilation
public override Type GetCompiledType ()
{
- Type type = CachingCompiler.GetTypeFromCache (parser.PhysicalPath, parser.ClassName);
+ Type type = CachingCompiler.GetTypeFromCache (parser.PhysicalPath);
if (type != null)
return type;
- if (parser.Program.Trim () == "")
- return parser.GetTypeFromBin (parser.ClassName);
+ if (parser.Program.Trim () == "") {
+ type = parser.GetTypeFromBin (parser.ClassName);
+ CachingCompiler.InsertType (type, parser.PhysicalPath);
+ return type;
+ }
string lang = parser.Language;
CompilationConfiguration config;
@@ -93,7 +96,7 @@ namespace System.Web.Compilation
sw.WriteLine (parser.Program);
sw.Close ();
- string dllfilename = tempcoll.AddExtension ("dll", true);
+ string dllfilename = Path.GetFileName (tempcoll.AddExtension ("dll", true));
if (!Directory.Exists (dynamicBase))
Directory.CreateDirectory (dynamicBase);
@@ -106,7 +109,9 @@ namespace System.Web.Compilation
"No assembly returned after compilation!?");
results.TempFiles.Delete ();
- return results.CompiledAssembly.GetType (parser.ClassName, true);
+ type = results.CompiledAssembly.GetType (parser.ClassName, true);
+ CachingCompiler.InsertType (type, parser.PhysicalPath);
+ return type;
}
void CheckCompilerErrors (CompilerResults results)