Я пытаюсь создать ActionFilter, чтобы заменить текст в моем HTML. Обычно, когда сервер использует SSL, я хочу заменить ссылки на мой CDN (http://cdn.example.com) ссылками непосредственно на мой сервер (https://www.example.com). Итак, структура выглядит примерно так (я предполагаю, что мне следует начать с OnResultExecuted):
public class CdnSslAttribute : ActionFilterAttribute
{
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
if(filterContext.HttpContext.Request.IsSecureConnection)
{
// when the connection is secure,
// somehow replace all instances of http://cdn.example.com
// with https://www.example.com
}
}
}
Это будет использоваться в моих защищенных контроллерах:
[CdnSsl]
public class SecureController : Controller
{
}
Причина, по которой я хочу это сделать, заключается в том, что мой CDN не поддерживает SSL. И на главных страницах есть ссылки на ресурсы CDN. Пример:
<link href="http://cdn.example.com/Content/base.css" rel="stylesheet" type="text/css" />