диалоговое окно браузера файлов asp.net и прерванное соединение

обновить - если я удалю runat="server" этого не произойдет...тогда как мне вернуть значение диалога обратно в код позади

Сценарий выглядит следующим образом. У меня есть этот код на моей странице

<input type="file" id="ID" runat="server" /> <asp:Button ID="btn" runat="server" Text="click me you chump" />

когда я просматриваю большой файл (200 МБ), а затем нажимаю кнопку ... заметьте, при нажатии ничего не происходит, кроме обратной передачи, в моем браузере возникает ошибка «Соединение прервано». Если я делаю это с меньшими файлами, это не проблема... единственная проблема в том, что мне нужно получить расположение базы данных, чтобы создать строку подключения.

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

По крайней мере, если бы кто-нибудь мог попробовать это очень быстро и сообщить мне, если это произойдет и с вами.

Благодарим Вас за оценку


person jim    schedule 04.06.2009    source источник


Ответы (2)


Проверьте: Эта статья от MS

В частности (выделено мной):

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Теоретически максимальный размер загружаемого файла довольно велик. Однако из-за мониторинга работоспособности ASP.NET вы не можете загружать очень большие файлы в ASP.NET. Рабочий процесс ASP.NET имеет виртуальное адресное пространство размером 2 гигабайта (ГБ). Однако рабочий процесс ASP.NET использует немногим более 1 ГБ из-за мониторинга работоспособности и фрагментации памяти.

В процессе загрузки ASP.NET загружает весь файл в память до того, как пользователь сможет сохранить файл на диск. Таким образом, процесс может быть перезапущен из-за атрибута memoryLimit тега processModel в файле Machine.config. Атрибут memoryLimit указывает процент физической памяти, которую рабочий процесс ASP.NET может исчерпать, прежде чем процесс будет автоматически перезапущен. Повторное использование предотвращает утечки памяти, которые могут привести к сбою или зависанию ASP.NET.

Кроме того, на максимальный размер загружаемого файла влияют и другие факторы. Эти факторы включают доступную память, доступное пространство на жестком диске, скорость процессора и текущий сетевой трафик. При регулярном потоке загружаемых файлов Microsoft рекомендует использовать максимальный размер файла в диапазоне от 10 до 20 мегабайт (МБ). Если вы редко загружаете файлы, максимальный размер файла может составлять 100 МБ.

Примечание. В ASP.NET можно загружать файлы размером более 100 МБ. Однако корпорация Майкрософт рекомендует соблюдать максимальные размеры загружаемых файлов, указанные в этой статье. Чтобы определить более точные размеры файлов, проведите стресс-тестирование на компьютерах, аналогичных тем, которые будут использоваться в рабочей среде.

Не решая вашу конкретную проблему Эта статья от Джона Гэллоуэя может быть вам полезна.

person Jon P    schedule 04.06.2009
comment
интересно.... На самом деле я ничего не загружаю, но мне все равно нужно установить ограничение в 1 гигабайт, чтобы иметь дело с большими файлами. Спасибо за помощь. - person jim; 04.06.2009
comment
На самом деле я не хочу ничего загружать, мне просто нужен путь к файлу в mdb... есть ли другое решение? - person jim; 04.06.2009

Вы пытались увеличить лимит загрузки файлов в web.config :

http://www.codeproject.com/KB/aspnet/uploadlargefilesaspnet.aspx

person Olivier Payen    schedule 04.06.2009