本篇文章主要介绍了"Nancy之给我们的网站添加自定义图标",主要涉及到方面的内容,对于.NETjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
当我们在做一个网站时,可能经常会有这样一个需求,要给我们做的网站添加一个自定义的图标。在Nancy中,默认是的下面这样一个妹子的头像,其实也是挺好看的!!那么当...

来看看它的描述

就像前面说的,它会去找favicon,找到就用找到的,没找到就用默认的。
里面有一个带IRootPathProvider参数构造函数,可以简单理解为指定要搜索的范围。
1///2/// Initializes a new instance of the class, with the
3/// provided instance.
4///5///The that should be used to scan for a favicon.6public FavIconApplicationStartup(IRootPathProvider rootPathProvider)
7 {
8 FavIconApplicationStartup.rootPathProvider = rootPathProvider;
9 }
下面是默认的图标实现方法,我们override的实现和它的基本一致!!
1privatestaticbyte[] ExtractDefaultIcon()
2 {
3var resourceStream =
4typeof(INancyEngine).Assembly.GetManifestResourceStream("Nancy.favicon.ico");
5 6if (resourceStream == null)
7 {
8returnnull;
9 }
1011var result =
12newbyte[resourceStream.Length];
1314 resourceStream.Read(result, 0, (int)resourceStream.Length);
1516return result;
17 }
默认图标在ErrorPipeline.cs和FormatterExtensions.cs之间(不细心去看,压根就看不见)

里面还有一个“搜索”图标的方法
1privatestaticbyte[] LocateIconOnFileSystem()
2 {
3if (rootPathProvider == null)
4 {
5returnnull;
6 }
7 8var extensions = new[] { "ico", "png" };
910var locatedFavIcon = extensions.SelectMany(EnumerateFiles).FirstOrDefault();
11if (locatedFavIcon == null)
12 {
13returnnull;
14 }
1516try17 {
18return File.ReadAllBytes(locatedFavIcon);
19 }
20catch (Exception e)
21 {
22if (!StaticConfiguration.DisableErrorTraces)
23 {
24thrownew InvalidDataException("Unable to load favicon", e);
25 }
2627returnnull;
28 }
29 }
我们可以发现,我们用的后缀可以是.ico和.png。
以上就介绍了Nancy之给我们的网站添加自定义图标,包括了方面的内容,希望对.NETjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_313129_3.html