maintenant j'ai une application web qui sera publié sur plusieurs domaines et je veux soutenir différents favicon basé sur le domaineMVC Au service Favicons basé sur le domaine
ce que je l'avais fait est:
** Ajout d'un gestionnaire dans web.config appelé « favicon », pour toute demande d'un fichier appelé « favicon.ico »
<system.webServer>
<handlers>
<add name="favicon" verb="*" path="favicon.ico" type="namespace.FaviconHandler, MyApplication" />
// other handlers
</handlers>
</system.webServer>
** classe ensuite ajouté qui prend en charge l'interface IHttpHandler
public class FaviconHandler : IHttpHandler
{
public void ProcessRequest(System.Web.HttpContext ctx)
{
string path = getFavIconPath(ctx.Request.Url.Host.ToLower());
string contentType = "image/x-icon";
path = ctx.Server.MapPath(path);
if (!File.Exists(path))
{
ctx.Response.StatusCode = 404;
ctx.Response.StatusDescription = "File not found";
}
else
{
ctx.Response.StatusCode = 200;
ctx.Response.ContentType = contentType;
ctx.Response.WriteFile(path);
}
}
private string getFavIconPath(string domain)
{
if (!string.IsNullOrEmpty(domain))
{
if (domain.Contains("abc.com")))
return "favicon.ico";
else
return "favicon2.ico";
}
return "favicon.ico";
}
}
Le problème est .. ça ne fonctionne pas bien .. Qu'est-ce qui me manque ?? Merci à l'avance
Ne pourriez-vous pas réaliser cela plus facilement avec JavaScript? Ayez juste un favicon pour chaque domaine dans un dossier spécifique de domaine, puis construisez l'URL pour le favicon sur le client basé sur window.location. Puis définir cela dans l'étiquette de tête? – LDJ