У меня есть размещенная веб-служба в SharePoint 2010, которая загружает и загружает sharepoint. Поскольку файлы могут быть большими (100 Мбайт +), я бы скорее использовал временные файлы в качестве потоков, через которые проходит код, вместо потоков памяти, чтобы избежать распределения памяти по 100 МБ каждый раз, когда он загружает/выгружает.Как хранить временные файлы в размещенном в SharePoint 2010 коде?
Проблема в том, что я могу найти местоположение на сервере для хранения временных файлов. System.IO.Path.GetTempFileName() выдает ошибку, потому что у аутентифицированного пользователя нет разрешений на% TEMP% на сервере. «% systemroot% \ temp» позволяет записывать файлы, но не удалять их.
Любая идея, могу ли я получить местоположение из sharepoint, доступное для любого аутентифицированного пользователя для хранения файлов?
несколько замечаний:
файлы являются временными и должны не быть удалены сразу же, так нет необходимости рассматривать вопросы кластеризации.
Я не хочу, чтобы решение, требующее каких-либо активных действий на серверах, поскольку этот плагин может быть развернут на фермах с большим количеством серверов, и мне не хотелось бы просить клиента пройти через каждый сервер.
Спасибо.
Основываясь на моем опыте работы с HttpHandlers в пользовательских веб-службах SharePoint 2007 и SharePoint 2010, я обнаружил, что файлы под макетами открыты для всех аутентифицированных пользователей и даже анонимных пользователей, если на сайте IIS установлено разрешение анонимного. В принципе, никакие разрешения SharePoint не применяются, кроме кода внутри ASPX-страниц, которые находятся под макетами. –