Назад | Перейти на главную страницу

Может ли приложение .net, скомпилированное в 32-разрядной среде, использовать дополнительную оперативную память при работе на 64-разрядном сервере Windows 2003 с IIS

Я не уверен, что смог правильно объяснить вопрос. Но в основном я использую 32-разрядную версию Windows XP для развертывания приложения asp.net на 64-битном сервере Windows. Я предполагаю, что сервер IIS - это 64-битный процесс. Может ли приложение asp.net использовать всю память, разрешенную для 64-битного сервера? или он будет использовать максимум 4 ГБ.

Поскольку asp.net поддерживает JIT, он будет JIT-компилироваться на веб-сервере при запросах страницы. Это означает, что у него не должно возникнуть проблем с использованием всех ресурсов на вашем сервере.

Приложение .net по умолчанию будет работать в любой среде (32- или 64-разрядной). Есть возможность форсировать платформу в свойствах проекта в

Build -> Platform Target: Any CPU, x86, x64

Принудительное использование x86 заставит сборку .NET работать в 32-битном режиме даже на 64-битной машине. Параметр сборки по умолчанию - Any CPU.

Итак, пока ваш проект работает с любым процессором, он будет работать в 64-битном режиме в 64-битной операционной системе и при соответствующем доступе к памяти.

Я не эксперт по .NET, и прошло много времени с тех пор, как я работал с предварительно скомпилированными двоичными файлами, так что относитесь к этому с недоверием.

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

Имеет ли это смысл?

Проще говоря, 32-разрядное приложение может обращаться к 4 ГБ ОЗУ, точка. ( Я согласен ...)

Но я уже говорил несколько лет назад, что x86 может расширяться до 64 бит, но это долгая история ...