增加一个定制的网站图标
原文地址:https://github.com/NancyFx/Nancy/wiki/Adding-a-custom-favicon
在默认情况下,在Nancy的每一个程序里都会使用Nancy的logo作为网站图标,除非你提供你自己的网站图标。重写这个动作提供当你自己定制的图标是一件非常简单事。
替换掉默认的网站图标
在程序路径(学习更过的路径只是请查看《根路径》)的任意一个地方提供一个名叫favicon,后缀为.icon或者.png的图标。Nancy会自己找到它的,你放心。如果你在程序里提供了不止一个图标,Nancy会使用第一个它找到的图标。
使用一个嵌入式的图标
你还可以在你程序的装配装配里嵌入网站图标。为了使Nancy使用你嵌入的图标,你只要重写bootstrapper里的 FavIcon
属性 ,然后加上下面这几句话:
public class Bootstrapper : DefaultNancyBootstrapper
{
private byte[] favicon;
protectedoverride byte[] FavIcon
{
get{ return this.favicon?? (this.favicon= LoadFavIcon()); }
}
private byte[] LoadFavIcon()
{
//TODO: remember to replace 'AssemblyName'with the prefix of the resource
using(var resourceStream =GetType().Assembly.GetManifestResourceStream("AssemblyName.favicon.ico"))
{
var tempFavicon = new byte[resourceStream.Length];
resourceStream.Read(tempFavicon,0, (int)resourceStream.Length);
returntempFavicon;
}
}
}
去掉图标
如果你什么网站图标也不要,同样的,你只要在bootstrapper重写你的FavIcon 然后返回null就可以了。
请注意:返回null将会导致/favicon.ico 的请求传送到传递管道里,这意味着(特别是)你的模块是可以看到这个请求的。
帮帮忙!我看不到我的图标
试一下:
1. 清楚你的浏览器缓存
2. 使用地址: http://site/favicon.ico
并刷新一下(ctrl+F5)。