Вот что я пробовал:
- Изменить каталог, в котором хранятся временные файлы. (Изменен локально для каждого сайта).
- Сохраните объект XMLSerialization в глобальной переменной и используйте его вместо того, чтобы каждый раз создавать новый.
- Удалить все временные файлы в папке временных файлов Windows.
- Установка разрешений для папки windows \ temp (в данный момент они установлены для всех, чтобы попытаться решить проблему).
Моя настройка выглядит следующим образом:
IIS7 на выделенном сервере Windows 2008.
Сайт написан на ASP.NET с использованием Delphi.
У меня есть несколько файлов XML, которые нужно сериализовать, а не один.
Мой веб-сайт общается с веб-сервисом и обрабатывает 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;