Сумасшедшая ошибка .net / Sharepoint, связанная со случайными временными файлами, не найдена - PullRequest
1 голос
/ 29 июня 2011

Сегодня вы вошли в среду клиента, чтобы проверить журналы и просто сделать проверку, только чтобы заметить, что в одном приложении не удалось выполнить некоторые задачи.

Приложение написано на c # .net v4, работает внутри IIS и экспортируется в Sharepoint 2007.

Я не могу быть на 100% уверен, что виновником являются .net или SharePoint. Вот ошибки, которые я получил:

Задача не выполнена: серверу не удалось обработать запрос. ---> Не могу найти файл 'C: \ Windows \ TEMP \ qbckfur1.dll'.
Экспорт 26.05.2011 15:00:21 Отказ
Задача не выполнена: серверу не удалось обработать запрос. ---> Не могу найти файл 'C: \ Windows \ TEMP \ 2shjg2xb.dll'.
Экспорт 26.05.2011 15:30:13 Отказ
Задача не выполнена: серверу не удалось обработать запрос. ---> Не могу найти файл 'C: \ Windows \ TEMP \ b7utp199.dll'.
Экспорт 26.05.2011 16:00:15 Отказ
Задача не выполнена: серверу не удалось обработать запрос. ---> Не могу найти файл 'C: \ Windows \ TEMP \ ozr2umkm.dll'.

Это кому-нибудь знакомо?

1 Ответ

3 голосов
/ 29 июня 2011

Это проблема с XmlSerialization (верите или нет).Я столкнулся с этим с помощью специального приложения ASP.NET MVC.Очевидно, что когда вы вызываете Serialize или Deserialize для типов, помеченных как «Сериализуемые», .NET на лету создает сборку для поддержки сериализации и пытается записать эту сборку в «c: \ windows \ temp».».

Даже если Everyone имеет полный доступ к этому каталогу, я все еще видел, что это происходит при запуске приложения из пула приложений IIS.Особенно в приложениях, где много сериализации.

Если это звучит как ваша проблема, решение состоит в том, чтобы «предварительно скомпилировать» сборку сериализации и включить ее в ваше приложение с sgen, частью Windows SDK.

В этом посте освещается похожая проблема: Проблема сериализации в MSDN Social

Вот статья MSDN об инструменте: sgen reference

Заключительное примечание. Существует отдельная версия инструмента для .NET 4.0, поэтому убедитесь, что вы используете правильную версию при создании сборки.

...