Каков наилучший способ получить доступ к удаленному хранилищу файлов в ITHit We bDAV
Я нахожусь в процессе внедрения сервера WebDAV с использованием механизма ITHit WebDAV для.net. Сервер представляет собой httplistener, работающий в качестве службы Windows, поэтому использование подключенного диска на служебном компьютере вызывает проблемы, так как службы не могут увидеть подключенный диск.
У меня был некоторый успех с использованием пути UNC, но GetExtendedFileAttrjbutes, кажется, не работает с путем UNC (я на самом деле не использую их, но мне интересно, что еще может не работать).
Таким образом, вопрос заключается в том, каков наилучший способ реализации сервера, который должен работать как служба и обращаться к папке удаленного хранилища файлов?
Есть какие-нибудь рекомендации?
С уважением Амар
1 ответ
В настоящее время образцы серверов WebDAV с серверной частью файловой системы, поставляемой с IT Hit WebDAV Server Engine для.NET, не поддерживают сетевой путь. Вы можете использовать только локальный путь с ним. Проблема заключается в хранении блокировок, которые сохраняются в расширенных атрибутах или альтернативных потоках данных NTFS - они не поддерживаются в случае сетевого пути (по крайней мере, в Windows).
Чтобы сохранить блокировки, вам понадобится другое хранилище, такое как база данных, дополнительные файлы или другое хранилище. Вы перепрограммируете интерфейс IFileAsync (реализован в DavFile.cs и ExtendedAttributes в примерах файловой системы).
Мы стараемся сделать наш пример кода как можно более простым, поэтому мы не поддерживаем сетевой путь, это сделает наш пример кода более сложным. Мы продолжаем исследовать, как мы можем сделать простую и жизнеспособную реализацию в наших примерах, чтобы обеспечить такую реализацию в будущих обновлениях.