2009-05-19 32 views
4

我有一个ASP.NET 2.0 web应用程序运行在一个众所周知的虚拟主机提供商的共享服务器上。偶尔我似乎得到这样的错误:XmlSerializer无法找到文件C: Windows Temp *。dll

找不到文件'C:\ WINDOWS \ TEMP \ lxnmfrsz.dll'。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。

异常详细信息:System.IO.FileNotFoundException:找不到文件'C:\ WINDOWS \ TEMP \ lxnmfrsz.dll'。

我周围搜索,似乎这是一个共同的问题。一种解决方案是清除临时文件夹或重新启动IIS。由于我没有在我不拥有的服务器上访问这些内容,所以这些都不是真正的选择。我已经尝试使用web.config中的指令将临时目录设置为不同的目录,但似乎仍然使用默认的临时目录。有没有其他一些方法可以更改临时目录和/或解决此问题?

+0

你有没有试过联系你的托管服务提供商? – 2009-05-19 15:46:19

+0

是的,我联系了他们。他们说我应该使用一些特殊的ASP.NET临时文件夹。那时候我以为我使用web.config指令来设置文件夹,但它仍然不起作用。 – 2009-05-19 16:18:44

回答

0

这里唯一需要注意的是,如果涉及到泛型(例如,您类型的List <>),那么似乎无法使用sgen来预生成序列化程序集程序集。

解决方法是从列表< MyType>派生自己的类型,然后将其包含在预生成程序集中。

相关问题