Ich versuche, einen ActionFilter zu erstellen, um etwas Text in meinem HTML zu ersetzen. Grundsätzlich, wenn der Server SSL verwendet, möchte ich Referenzen zu meinem CDN (http://cdn.example.com) durch Referenzen direkt auf meinen Server (https://www.example.com) ersetzen. So ist die Struktur so etwas wie diese (Ich gehe davon aus OnResultExecuted ist, wo ich anfangen soll):Wie ersetze ich URLs in gerenderten HTML mit einem ASP.NET MVC ActionFilter
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
}
}
}
Diese in meinem sicheren Controller verwendet werden würde:
[CdnSsl]
public class SecureController : Controller
{
}
Der Grund, warum ich dies tun will Ist mein CDN unterstützt nicht SSL. Und es gibt Verweise in den Masterseiten auf CDN-Ressourcen. Beispiel:
<link href="http://cdn.example.com/Content/base.css" rel="stylesheet" type="text/css" />
Es hängt alles davon ab, ob der Entwickler mit dem Quellcode arbeitet nicht "besitzen". Ich entwickle ein Plugin für ein System, in dem ich den Code nicht ändern darf. Das bedeutet, dass ich die Antwort ändern muss, um bestimmte Teile der Benutzeroberfläche zu ändern. –