C # перехватывает чтение файла - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть большой файл на заказ (~ 3 ТБ) и другое приложение, которое нужно читать из него.

Однако приложение не понимает структуру контейнера, поэтому мне нужно сначала преобразовать его, что означает создание другого файла ~ 3 ТБ;Я надеюсь упростить этот процесс.

Что я хотел бы сделать, это создать файл / канал / что-то в файловой системе, и когда другие приложения читают из него, мое приложение просто возвращаетисправить данные из контейнера.

Я не уверен, что это можно сделать в C #, и я не хочу подключать какие-либо компоненты ОС, поэтому я подумал, что именованный канал может работать, но я не уверен, если у кого-то есть какие-либо предложения или идеи, я был бы признателен за это.

1 Ответ

2 голосов
/ 23 сентября 2019

Если вы не контролируете приложение-потребитель и оно ожидает чтения из файловой системы, возможно, есть способ сделать это, но это довольно трудоемкий труд.

Последние выпуски Windows 10включили Windows Projected File System .Windows позаботится обо всем перехвате файловой системы, и вы просто должны быть в состоянии ответить на вопросы типа «какие файлы должны быть в этом каталоге?» и тому подобное.Я полагаю, что теперь он используется для OneDrive, и это одно из предполагаемых применений, где реальные файлы обычно могут храниться в облачном хранилище, а не локально..Единственное, что нужно сказать, это то, что прямо из C # это нелегкая работа.Если вы собираетесь попробовать привязку к этому API, это действительно поможет, если вы немного разберетесь в C или C ++.

Ранее в этом году я пытался создать управляемую привязку к этому API, чтобы упростить потребление.из .NET языков.Это, однако, в настоящее время не выпускается.Но основы сработали и доказывают, что это жизнеспособный подход.

Как только .NET Core 3 будет полностью выпущен, я, вероятно, снова исправлю это и заставлю его работать, но пока это WIP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...