По умолчанию при установке нового шрифта только текущий сеанс уведомляется об изменении. Поэтому, если вы входите на сервер в сеансе служб терминалов (что кажется вероятным), приложение ASP.NET (которое будет работать в другом сеансе) не увидит изменения.
При перезагрузке система автоматически сканирует каталог шрифтов и «регистрирует» все шрифты в нем в текущем сеансе.
Чтобы «вручную» зарегистрировать новый шрифт, вам потребуется вызвать AddFontResource и передать путь к шрифту.
Чтобы сделать это немного проще, вы можете сделать так, чтобы ваше приложение сканировало папку Fonts и вызывало AddFontResource
для каждого файла, найденного там в своем событии Application_Start
. Таким образом, когда вы устанавливаете новый шрифт, вы можете просто переработать сайт (например, отредактировать файл web.config), и он будет повторно сканировать все файлы.
Другим вариантом было бы поместить просмотр каталога (через FileSystemWatcher ) в папку Fonts и автоматически пересканировать его.
Полагаю, все зависит от того, как часто вы будете устанавливать новые шрифты ...