У меня есть большое унаследованное приложение, и я хотел бы переместить все наши изображения в CDN.Переопределить разрешение ASP.NET tilde (~) только для изображений
В настоящее время все наши изображения находятся под корнем приложения, поэтому пути все равны "~/Images/MyImage.jpg."
В соответствии с требованиями нашей системы, я ДОЛЖЕН определить полный URL-адрес для данного изображения во время выполнения, если он должен жить в CDN. Это дает нам жесткий контроль над версиями, кэшированием и т. Д. Изменение кода изображения по изображению будет очень длительным, утомительным и подверженным ошибкам процессу.
Что я хотел бы сделать, так это возможность подключиться к некоторому механизму в ASP.NET, где я могу решить, как я хочу разрешить тильду для изображения. Это позволило бы сохранить весь наш существующий код как есть, и изображения будут переданы CDN во время выполнения.
Я нашел несколько упоминаний VirtualPathProviders, которые звучали, как это могло бы быть то, что я искал, но когда я тестировал его, единственные пути передается в CombineVirtualPaths функции были пути, которые заканчивались .ASPX, .ASCX, and .MASTER
.
Может ли кто-нибудь помочь мне найти чистый вариант с низким уровнем риска для этого?
В принципе, мне нужно, чтобы где-нибудь в моем приложении, где у меня есть «~/images/myimage.jpg», который будет отображаться в браузере как «http://mycdnhost.com/myimage.jpg». Это позволит избежать отправки браузером запроса на наш сервер для изображения вообще.
Что такое версия IIS, которую вы используете? –
Обратите внимание на возможное решение: http://stackoverflow.com/questions/4350571/changing-asp-net-application-root – Soliah