C#Hashtable“对象引用未设置”

时间:2011-02-09 13:51:17

标签: c# hashtable

我有一个有趣的问题,我正在努力解决。我有下面的代码,它基本上是一个函数,用于将值与html文件合并并给我结果集。我正在为这些目的使用哈希表。

功能如下(请记住我继承了这个功能,目前无法更改)

public static string ParseTemplate(string _FileName, int _NumberofSomething)
{
  Hashtable templateVars = new Hashtable();
  templateVars.Add("NameOfFile", _FileName);
  templateVars.Add("NumberOfSomething", _NumberofSomething);
  TemplateParser.Parser parser = 
      new TemplateParser.Parser(
          System.Web.HttpContext
            .Current.Server.MapPath("~/docs/Templatenr.htm"), templateVars);
  return parser.Parse();
}

在我们的开发和直播服务器上,它运行良好。但是,我正在尝试将应用程序部署到另一个生产服务器,并获得“未设置为对象实例的对象引用”。它完全打破了“Hashtable templateVars = new Hashtable();”线。所以我有点困惑。如果这是一个编码问题,它肯定无法在任何地方工作吗?

不同生产服务器之间的唯一区别是正在运行的操作系统和IIS。即。 Server 2005和IIS7 vs Server2003和IIS6(它是破坏的环境)。两者都安装了最高3.5的.net框架。旧操作系统和国际空间站可能成为问题吗?这可能是许可/记忆的事吗?虽然这听起来有点令人难以置信,因为我在新的生产服务器上使用的所有其他.net功能都运行得很好。

我发现的有关哈希表的所有问题都与它没有被实例化有关。但是,我的错误发生在尝试实例化Hashtable的行上。

之前是否有人有这样的错误,如果是这样,你是如何解决的?我甚至欣赏有关寻找什么的建议,我会试一试。如果其他人在将来遇到此错误,我也会回复结果。

1 个答案:

答案 0 :(得分:0)

我从来没有真正理解这个错误的底部。使用Reflector Pro进行远程调试的建议也不起作用,指出网站运行的虚拟服务器存在一些问题。检查日志文件显示.net框架抛出的其他错误。

使用IIS7和Windows Server 2008将网站迁移到新的虚拟服务器。它在新环境中工作。

对于每个人来说,这可能不是理想的解决方案,也许框架重新安装可能已经解决了我们的问题,但由于我们正在转换到新环境(出于其他原因),这个解决方案适合我们。 / p>