Кто-нибудь успешно реализовал это решение MSDN для внешних библиотек Sharepoint, используя Silverlight / WCF? - PullRequest
2 голосов
/ 15 ноября 2009

Кто-нибудь успешно внедрил это решение MSDN для внешних библиотек Sharepoint?

http://msdn.microsoft.com/en-us/library/dd440954.aspx

Краткая справка: мы будем предоставлять возможности загрузки / выгрузки файлов пользователям как в интрасети, так и в экстрасети. В некоторых случаях загрузка пользователей будет очень большой: иногда вдвое больше, чем ограничение WSS3 / MOSS2007 на 2 ГБ. Это решение MSDN выглядело убедительно, потому что мы можем использовать многое из того, что может предложить Sharepoint - управление версиями, метаданные, аутентификация, авторизация и рабочий процесс, - но все же управлять очень большими файлами.

Вот некоторые конкретные вопросы, которые у меня есть по поводу решения MSDN: 1. Архитектура показывает загрузки / выгрузки файлов, проходящих через веб-сервисы asmx в Sharepoint. Разве эти сервисы asmx не загружают все загрузки в память? 2. Безопасность. Насколько это гранулировано? Могут ли отдельным файлам во внешней библиотеке назначаться явные разрешения или они устанавливаются только на уровне списка?

1 Ответ

0 голосов
/ 16 ноября 2009

Я углубился в реализацию. Вот некоторые начальные наблюдения:

Хотя загрузка файлов инициируется из Silverlight, код Silverlight на стороне клиента не разбивает файлы на куски перед отправкой на сервер. Это означает, что весь файл передается по сети одновременно. Для поддержки больших загрузок с этой архитектурой вам необходимо реализовать что-то похожее на концепции разбиения на фрагменты, используемые в этом проекте CodePlex Управление загрузкой файлов Silverlight . Для повышения производительности при больших загрузках компоненту Silverlight может потребоваться указать непосредственно на службу WCF, ответственную за запись потокового файла на диск.

Файлы, хранящиеся во внешнем репозитории, не изначально связаны с безопасностью Sharepoint. Скорее, модель безопасности создается по образцу после хранилища. Для простоты в примере кода хранится модель безопасности хранилища в файлах XML. Теоретически вы можете заменить вызовы в XML-файлах вызовами веб-служб Sharepoint. Это (опять-таки теоретически) даст вам как внешнее хранилище файлов, так и контекст Sharepoint для авторизации, управления версиями и т. Д.

...