Разархивировать с 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 или некоторую стороннюю библиотеку или какой-либо бесплатный инструмент командной строки.