2013-11-28 3 views
30

У меня есть проект VS в .NET MVC5, который загружает внешний DLL-файл, который использует много памяти. В среднем он использует от 500 до 1000 МБ памяти.IIS Express - ограничение памяти increse

Теперь, когда я пытаюсь отладить мой проект с сервером IIS Express по умолчанию, я почти всегда получаю исключение OutOfMemory.

Я знаю, что для нормального IIS есть флаг/3gb, но что касается IIS Express. Существуют ли какие-либо настройки, поэтому я могу включить это или есть ли какое-либо другое решение этой проблемы, кроме установки полного IIS на компьютере разработки?

PS: Разработчик PC имеет ОС Windows 8.1 64x и Visual Studio 2013.

+0

Вы используете 32-разрядную или 64-разрядную ОС? – mrd

+0

64-разрядная ОС. И у меня нет IIS, я получил только IIS Express. – Gapipro

+0

@Gapipro: Вы пытались увеличить виртуальную память для рабочего процесса? – mrd

ответ

19

Оба Кассини и IISExpress работает как 32 бит по умолчанию ... Вы можете настроить Visual Studio 2012 использовать IIS Express, 64-бит путем добавления/установив следующий ключ реестра:

reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\WebProjects /v Use64BitIISExpress /t REG_DWORD /d 1 

IIS Express 8 и выше поддерживает оба режима. Лучше всего использовать приложение, такое как проводник процессов, после изменения реестра, чтобы проверить процесс IISExpress и убедиться, что он работает из 64-разрядного местоположения. Когда вы устанавливаете IIS 8.0 Express в 64-разрядную систему, 32-разрядная и 64-разрядная версии IIS 8.0 Express будут установлены соответственно в «% ProgramFiles (x86)% \ IIS Express» и «% ProgramFiles% \ IIS Express ".

В качестве альтернативы вы можете установить IIS локально и настроить его для запуска приложения. Вы можете настроить Visual Studio на локальный экземпляр IIS.

+0

. Значение реестра, похоже, не работает в Visual Studio 2010. Есть ли эквивалент для этого в VS 2010? –

+1

Для Visual Studio 2013 просто измените '11.0' на' 12.0' в пути ключа реестра – Chaulky

+2

Этот реестр изменился для Visual Studio 2015 RC, который является '14.0'. –

75

Перейти к Visual Studio - Tools - Options Menu

Выберите: - Проекты и решения, затем Веб-проекты

поставьте галочку: "User 64-разрядную версию IIS Express для веб-сайтов и проектов"

Нет необходимости в редактировании реестра.

+9

Я очень предпочитаю это к принятому ответу. Это все еще отлично работает на VS2015 и сохраняет любые ненужные изменения реестра. – bendemes

+0

Отличный ответ .. Работал в VS 2015 :) – MWD

+0

Согласен! В идеале это должен быть выбранный ответ. Хорошо работает и в VS2013 Update 5. – sagar

Смежные вопросы