Разархивировать с Shell32 не работает после размещения веб-приложения

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

Shell32.ShellClass sc = new Shell32.ShellClass();

Shell32.Folder SourceFolder = sc.NameSpace(@"C:\TEMP\File.zip");

Shell32.Folder DestFolder = sc.NameSpace(@"C:\TEMP"); 

Shell32.FolderItems items = SourceFolder.Items();

DestFolder.CopyHere(items, 4 | 16);

1 ответ

На сервере вы должны избегать использования функций Shell32. Они могут захотеть использовать рабочий стол или профиль пользователя.

Есть много других способов разархивировать файлы - вы можете использовать System.IO.Compression.ZipFile.ExtractToDirectory или некоторую стороннюю библиотеку или какой-либо бесплатный инструмент командной строки.

Другие вопросы по тегам