Возможно, вы сможете реализовать свое собственное решение, используя VirtualPathUtility.ToAbsolute .Вероятно, что-то вроде этого:
public static class UrlHelperExtension {
public static string Absolute(this UrlHelper url, string relativeOrAbsolute) {
var uri = new Uri(relativeOrAbsolute, UriKind.RelativeOrAbsolute);
if (uri.IsAbsoluteUri) {
return relativeOrAbsolute;
}
// At this point, we know the url is relative.
return VirtualPathUtility.ToAbsolute(relativeOrAbsolute);
}
}
, который вы бы использовали следующим образом:
@Url.Absolute(Url.Content("~/Content/Image.png"))
(Сам не проверял, не стесняйтесь поиграть, чтобы заставить его работать правильно.)
Это поможет вам создать абсолютные URL-адреса для ваших файлов содержимого.Чтобы изменить схему результирующих URL-адресов, вы можете создать дополнительный метод расширения, который манипулирует схемой данных URL-адресов, чтобы они были HTTPS или чем-то еще.
Как указывает Халид в комментариях,аналогичные методы расширения уже доступны в различных проектах с открытым исходным кодом, которые вы можете использовать (учитывая, что лицензия позволяет).Пример можно найти здесь .