Я работаю над CMS, которая может работать с включенным https или без него на веб-сервере. Я хотел бы иметь возможность определять, включен ли https или нет, чтобы я мог действовать соответствующим образом (например, отображать некоторые параметры, связанные с https, администратору и перенаправлять на https для входов администратора).
Я не ищу Request.IsSecureConnection, потому что он говорит мне только, если текущий запрос через https. Я хочу что-то, что скажет мне, включают ли текущие привязки для сайта в IIS привязку для https в том же домене, что и текущий запрос. Так, например, даже если текущий запрос для http://example.com/
и, следовательно, не является безопасным, я хочу знать, будет ли работать https://example.com/
, чтобы я мог (например) перенаправить пользователя на него, если они войдут в систему как администратор.
Мне не повезло, что я искал что-то в System.Web.Configuration, которая расскажет мне о привязках текущего сайта.
Мой текущий обходной путь - просто потребовать, чтобы администратор установил appSetting в web.config, если https включен, но я бы предпочел, чтобы я мог сделать это автоматически. Необходимость установить одну и ту же вещь дважды - один раз в IIS и один раз в web.config - сбивает с толку.