+ }
+ }
+ Assembly MetaProvider.Assembly
+ {
+ get{
+ return _assembly;
+ }
+ }
+ string MetaProvider.Resource
+ {
+ get
+ {
+ return _origAssemblyName != null ? _origAssemblyName + ".ghres" : "dll.ghres";
+ }
+ }
+ private void LoadTypeAndAssem()
+ {
+ if (_assembly == null)
+ {
+ string typeName = GetCachedTypeName();
+ if (typeName != null)
+ {
+ if ((_type = Type.GetType(typeName)) != null)
+ _assembly = _type.Assembly;
+ else
+ _assembly = Assembly.Load(_origAssemblyName);
+ }
+ }
+ }
+ private bool InternalCompile()
+ {
+ string fileName = VirtualPathUtility.GetFileName (_url);
+
+ string fullFileName = (fileName.ToLower () == "global.asax") ? _url : _context.Request.MapPath (_url);
+#if DEBUG
+ Console.WriteLine("fullFileName=" + fullFileName);
+#endif
+ //type not found - run aspxparser
+ if (File.Exists(fullFileName) || Directory.Exists(fullFileName))
+ {
+ string[] command = GetParserCmd(fileName.ToLower() == "global.asax");
+ if (J2EEUtils.RunProc(command) != 0)
+ throw GetCompilerError();
+
+ return true;
+ }
+ else
+ {
+ return false;
+ //string message = "The requested resource (" + _url + ") is not available.";
+ //throw new HttpException(404, message);
+ }
+ }
+ private string GetDescriptorPath()
+ {
+ return String.Join("/", new string[] { "assemblies", _xmlDescriptor });
+ }
+ private string GetTypeNameFromAppFolder()
+ {
+ try
+ {
+ using (StreamReader sr = new StreamReader(_context.Request.MapPath("~/" + GetDescriptorPath())))
+ {
+ return GetTypeFromDescStream(sr.BaseStream);
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine(ex);
+ throw ex;
+ }
+ }
+ internal string GetTypeFromResources()
+ {