Мое предложение состоит в том, чтобы следовать подходу @ marcind, одна из возможностей - использовать собственный метод расширения для генерации правильного URL в зависимости от текущей схемы URL.
public static MvcHtmlString CdnActionLink(this HtmlHelper helper, string linkText, string actionName, string controllerName)
{
if(helper.ViewContext.HttpContext.Request.IsSecureConnection)
{
return helper.ActionLink(linkText, actionName, controllerName, "https", "www.yourhost.com"...);
}
return helper.ActionLink(linkText, actionName, controllerName);
}
Один из недостатков этого подхода заключается в том, что вам необходимо заменить все ваши текущие ActionLink
вызовы в ваших представлениях (или, по крайней мере, те, которые вам нужны) вызовом этого метода расширения.