C#Word文档无法打开

时间:2011-11-06 09:28:26

标签: c# asp.net iis-7 iis-6 ms-word

我有一个网站,可以在用户的​​浏览器上打开Word文档,并在文档中填写一定的值:

 protected void Page_Load(object sender, EventArgs e)
 {
     string source = "c:\TemplateDocument.doc";
     string destination = "c:\Temp.doc";
      File.Copy(source, destination, true);
     Microsoft.Office.Interop.Word._Application oWord;
     Microsoft.Office.Interop.Word._Document oDoc;
     oWord = new Microsoft.Office.Interop.Word.Application();
     oDoc = oWord.Document.Open(destination, ReadOnly: false, Visible: false);
     oDoc.Tables[1].Rows[1].Cells[1].Range.Text = "Hello world"; // Simplified for the example
     oDoc.SaveAs2(destination);
     oDoc.Close();
     Response.Clear();
     Response.ContentType = "application/msword";
     Response.AddHeader("Content-Disposition", "inline;TemplateDocument.doc");
     Response.WriteFile(destination);
     Response.End();
     File.Delete(destination);

  }

上面的代码在我们的服务器上完美运行,该服务器是IIS6。

但是,我们将服务器升级到IIS7,并使其与DFS一起使用。

(DFS - 基本上是两个复制服务器)

现在发生的事情是oDoc仍然为空,即使在Open()命令之后也是如此。

当我尝试访问oDoc内的任何内容时(例如oDoc.Tables),我得到NullReferenceException

在服务器上运行代码本地时,它可以正常工作;一旦它发布,我就会得到例外。

还有什么可能相关?代码是指Office 2010的dll,它是安装在服务器上的Office(在升级之前也是如此,所以我认为不是导致问题的原因。)

提前致谢!

0 个答案:

没有答案