Может ли приложение x64 использовать сборки x86 - и наоборот?

Если вы находитесь в CloudFlare, убедитесь, что вы используете что-то вроде этого.

# BEGIN SSL Redirect
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# END SSL Redirect

Это избавит вас от цикла перенаправления и безопасно перенаправит ваш сайт на SSL.

P.S. Это хорошая идея, если проверить mod_rewrite.c!

30
задан Community 23 May 2017 в 12:33
поделиться

2 ответа

Нет, 64-разрядный процесс может загружать только 64-разрядные библиотеки DLL, а 32-разрядный процесс может загружать только 32-разрядные библиотеки DLL. Вы, вероятно, думаете, что 64-битная операционная система может запускать 32-битные процессы .

Основная проблема с .NET заключалась в том, что до VS2010 для исполняемых проектов по умолчанию использовалось значение «AnyCPU», что означало, что он загружался в «родном» формате ОС, в которой он работает (так что 32-разрядные для 32-разрядных версий Windows и 64-бит для 64-битных версий Windows). Проблема в том, что если вы тестировали свое приложение в 32-битной Windows (скажем), то оно могло сломаться, если вы загрузили 32-битные библиотеки DLL и попытались запустить в 64-битной Windows.

В VS2010 по умолчанию все исполняемые проекты были «x86» (то есть 32-разрядными), что (по большей части) смягчает проблему.

34
ответ дан 28 November 2019 в 00:13
поделиться

Вы можете запускать приложения x86 в 64-битной ОС с помощью эмуляции WOW32. Некоторые подводные камни, с которыми я столкнулся - вы не можете смешивать и сопоставлять 32/64 в одном процессе. Поэтому, если вы собираетесь запускать IIS как 64, все сборки должны быть 64-разрядными, иначе вам придется работать в 32-битном режиме. 64-битная версия помогает одним приложениям больше, чем другим. 64-разрядная версия SQL-сервера дает несколько преимуществ по сравнению с 32-разрядной версией, самое большое преимущество заключается в том, что вы можете установить более 4 ГБ памяти на целевом сервере и что SQL сможет использовать более 4 ГБ памяти. Это не приносит такой пользы IIS, потому что IIS обычно не может использовать более 3 ГБ памяти. Я бы посоветовал убедиться, что ваш SQL-сервер / os / version имеет 64-разрядную версию, если это возможно. Это не сделает.Огромная разница, если другие серверы 64, но обычно с ними легче работать и найти 32-битные версии.

5
ответ дан 28 November 2019 в 00:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: