Представление запроса базы данных, олицетворяющее файл в общей папке Windows?
Вопрос
Есть ли какой-нибудь способ получить что-то, что выглядит точно так же, как файл в общей файловой системе Windows, но на самом деле является ресурсом, обслуживаемым по HTTP?
Для контекста, я работаю со старым приложением, которое может работать только с файлами в общей файловой системе Windows, я хочу создать простой сервис на основе HTTP для динамического обслуживания содержимого файлов, чтобы получать изменения базовых данных в реальном времени по запросу
Спасибо за советы - сейчас мне нужно провести кое-какие исследования...
Спасибо всем,
Решение
WebDAV (по сути) берет существующий каталог и предоставляет к нему общий доступ через HTTP, что звучит как противоположность тому, что вы хотите.
Вам нужно что-то, что говорит на SMB / CIFS на одном конце, а на другом - ваш собственный код.Самый простой способ сделать это - использовать файловую систему пользовательского пространства.
С этой целью вот пара ссылок:
- ВинФУЗЕ, который представляет собой своего рода базовый сервер CIFS / SMB, на котором может размещаться ваша собственная файловая система.Я сделал с ним пару небольших сэмплов - и документы ужасны, но это более или менее сработало.
- Докан, файловый драйвер пользовательского пространства с .СЕТЕВЫМИ привязками.Я этим еще не пользовался, но выглядит многообещающе.В нем есть и то, и другое .Привязки NET и Ruby, так что вы сможете довольно быстро настроить POC.
- Файловая система обратного вызова - еще одна файловая система пользовательского пространства.Опять же, у меня нет никакого опыта работы с этим.
- Блок Linux с SAMBA и FUSE, который использует общий доступ к диску с блоком Windows.
Другие советы
Это не даст сколько-нибудь значимого ответа на ваш вопрос, но, возможно, это направит вас в правильном направлении.Посмотрите на обслуживание "файлов" через WebDAV - SharePoint использует это, и к его файлам можно получить доступ именно так, как вы хотите, в качестве общего доступа к файлам, где транспортным механизмом является HTTP.К сожалению, я не могу предоставить более подробную информацию, поскольку я работал только на клиентской стороне WebDAV, а не на стороне сервера.
Я думаю, что предоставление файлов из WebDAV может быть тем, что вы ищете.