gpt4 book ai didi

asp.net - 找不到文件“C :\WINDOWS\TEMP\xxxx. dll

转载 作者:行者123 更新时间:2023-12-03 14:59:50 26 4
gpt4 key购买 nike

这是我尝试过的:

  1. 更改临时文件的存储目录。 (在每个网站本地更改)。
  2. 将 XMLSerialization 对象存储在全局变量中并使用它,而不是每次都创建一个新对象。
  3. 删除 Windows 临时文件夹中的所有临时文件。
  4. 设置 windows\temp 文件夹的权限(我目前已将其设置为所有人,只是为了尝试解决问题)。

我的设置如下:

Windows 2008 专用服务器上的 IIS7。该网站是使用 Delphi 用 ASP.NET 编写的。我有多个 XML 文件需要序列化,所以不仅仅是一个。我的网站与 Web 服务通信并处理 XML(我猜这是破坏一切的部分)

除了列出的内容之外,还有其他建议吗?我读过有关使用 SGEN 预编译序列化对象的内容,但这是否适用于多个 XML 文件?我对此了解不多。

这是一个例子:

这是我的一个 XML 文件的代码。 StockXMLSer 在全局范围内举行,测试后每个站点仅创建一次。

function IntGetSTOCK_ITEMS(S: TStream): STOCK_ITEMS;
begin
if not Assigned(StockXMLSer) then begin
StockXMLSer := XmlSerializer.Create(STOCK_ITEMS.ClassInfo);
OutputDebugString('StockXMLSer Serializer Created');
end;
Result := STOCK_ITEMS(StockXMLSer.Deserialize(S));
end;

最佳答案

您需要向代码中添加一些设置,以便能够调试序列化代码。请查阅 msdn 上的以下文章。

Troubleshooting Common Problems with the XmlSerializer

还有一个巧妙的技巧,可以将创建的文件保留在临时文件夹中,以便您可以看到发生了什么。

Under normal circumstances, the XmlSerializer deletes the C# source files for the serialization classes when they are no longer needed. There is an undocumented diagnostics switch, however, which will instruct the XmlSerializer deletes to leave these files on your disk. You can set the switch in your application's .config file:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.diagnostics>
<switches>
<add name="XmlSerialization.Compilation" value="4" />
</switches>
</system.diagnostics>
</configuration>

With this switch present in the .config file, the C# source files stay in your temp directory. If you are working on a computer running Windows 2000 or later, the default location for the temp directory is \Documents and Settings\\LocalSettings\Temp or \Temp, for web applications running under the ASPNET account. The C# files are easy to miss because they have very odd looking, randomly generated filenames, something like: bdz6lq-t.0.cs. The XmlSerializerPreCompiler sets this diagnostics switch, so you can open the files to inspect the lines on which the XmlSerializerPreCompiler reported compilation errors in Notepad or Visual Studio.

关于asp.net - 找不到文件“C :\WINDOWS\TEMP\xxxx. dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2318637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com