Member 13996746 Ответов: 2

Развертывание ASP.NET веб-сайт в IIS


Привет, у меня есть простой жерех.Сетевое веб-приложение, которое считывает данные из файла Excel и отображает их содержимое на веб-странице при нажатии кнопки события. Я развернул веб-сайт в IIS (Windows Server 2012 R2), он отлично работает до входа в систему, но ничего не происходит, когда я нажимаю кнопку и пытаюсь загрузить данные excel на веб-страницу.

Что я уже пробовал:

Я попробовал то же самое решение локально на том же сервере, и оно отлично работает на этом, но после развертывания оно не работает. Может ли кто-нибудь Плесе сказать, в чем может быть проблема. Даже я не получаю никаких ошибок в консоли, просто страница обновляется, но данные не отображаются. Может ли это быть какой-то вопрос, связанный с разрешением??

Заранее спасибо...

F-ES Sitecore

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

RmcbainTheThird

Где находится файл Excel?

ZurdoDev

Как мы можем помочь?

ZurdoDev

Очень вероятно, что отсутствуют либо разрешения, либо пути к файлам, либо зависимость.

2 Ответов

Рейтинг:
1

Dave Kreskowiak

Поскольку вы ничего не сказали о том, как написан ваш код, я собираюсь сделать обоснованное предположение.

Вы использовали Office Interop для чтения данных с листа Excel. Это означает установку ссылки на библиотеку объектов Microsoft Office и/или библиотеку объектов Microsoft Excel.

Это не будет работать в веб-приложении. Да, я знаю, что это сработало на вашей машине dev. Это ничего не значит. Причина этого заключается в том, что на вашем dev-компьютере вы являетесь одним пользователем, попадающим на веб-сайт с одиночными запросами. Это нормально для офиса, чтобы справиться. Но когда у вас есть несколько пользователей, которые одновременно попадают на производственную площадку, именно здесь у Office/Excel возникнут проблемы. Офисные приложения не поддерживают повторный вход. Это означает, что он не может обрабатывать несколько запросов одновременно, что веб-сайты делают все время.

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

Существуют и другие способы считывания данных с листа Excel без использования взаимодействия вообще. "Google: C# считывает данные из excel с помощью oledb[^]"


Рейтинг:
0

Member 13996746

Спасибо за ответ.

Вопрос был решен...

Я просто делаю изменения в настройках

Пулы приложений -> включить 32-битные приложения-True

Большое спасибо