也谈月饼

也谈月饼(文/远方)

前言:
那篇大家开首说一下虚构路径和Request对象,那些在asp.net中都是足够常用的小知识点,希望我们透过看这篇博客能够越来越的加深对那多少个知识点的上学,越发是杜撰路径的”~”的采取还有Request对象的局地性质等。

可贵的阴凉天,午风不燥,阳光不紧,趁着上午傻眼的空挡,忙里偷闲翻了翻日历,那才知道中秋节将要到了。海上道人如果领略了,肯定思念着找个把酒问青天的夜晚,给阿辙来个飞鸿遥寄,只道托付千里共婵娟。而自己还没感伤到充裕文人的地步,脑子流着口水光想着月饼了。

  1. 破例路径标示”~” 虚拟路径

我是吃过很多月饼的,天黄海北,五花八门,只要集市里有的卖,没有没有尝过的,那种吃货性格多多少少跟我那闽北农夫汪老臭味相投。在那中国的方框地界上,月饼大概分个四大门户,所谓京式月饼,苏式月饼,广式月饼,滇式月饼,自然还有诸如皖金湾区的徽式月饼,潮汕地区潮式月饼,还有蒙古族兄弟的清真月饼云云。

(1)
”/表示网站根目录(域名),../表示上级目录,./表示当前目录”等Http标准定点不均等,~是ASP.NET定义的特殊符号,是ASP.NET内部开展推荐的用法,推荐资源一定都利用~从应用根目录开首定义,应用根目录和网站根目录的分别在于:要是将一个应用程序安插到http://www.cnblogs.com/hanyinglong其一目录上边,应用程序的根目录就是Http://www.cnblogs.com/hanyinglong,网站的根目录是:http://www.cnblogs.com。由此最好用”~”,”~”并不会被浏览器认,因而ASP.NET会将那么些途径转换为相对于网站的根目录的全路径在出口到浏览器中。

诚如而言,平时所见的月饼大凡是广式和苏式,最大的特点就是一个软皮,一个酥皮,软的像是粤人日常饭桌上,那不行缺席的入口润滑的浓汤;酥的则吻合黑龙江人轻盈高雅,温润如玉的脾气,而且但凡是像一口酥类似名字里含酥的糕点,十有八九是布里斯托一代人的吃食。因着最为广泛,食馅多是红豆、莲蓉、五仁等安安分分的材料,故而,也不要多费些笔墨唠叨。

  1. 编程处理”~”

早就有人给本人从京城带过京式月饼,着实让自身开了见识,乍一看,小山包的模样,我差不多当作了小寿包。那月饼又分为红白两类,指的是壳皮的色彩,据说那还源于与京城人起源极深的兔儿爷的早年掌故,就像就是兔儿爷用红白两色药治好了巴黎市的瘟疫,从此这广寒宫的月饼里就落了那三种颜色。一口咬下去,脆皮裂开,竟会流一嘴的芝麻油,芝麻香味里掺的是青红丝,有种脆甜的美观感觉。

(1)
假若在服务端控件中(使用runat=”server”的控件)会自行将”~”举办转移,要是在HTML控件或者需求在代码中改换的话可以应用VirtualPathUtility类中静态方法举办虚构路径,全路线等的转换,比如:VirtualPathUtility.ToAbsolute(“~/a/b.aspx”)就是将虚拟路径转换为相对应于应用程序根目录的全路径,也就是”WebSite/a/b.aspx”。

同京式红月饼有些相似的是甘肃的滇式月饼,那鼎鼎闻名,汪老在追思身在西南联大的那几年时,每每一次忆滇式月饼,都会满口生津,涎水直流。滇式月饼又叫云腿包子,顾名思义,自然选料是同福州火腿起名的多瑙河当地宣威火腿,且掺和了利亚地方的玫瑰花瓣,火腿的烟熏味和玫瑰花的馥郁似乎此神奇地融为一体,那是相似人不能够精通的。云腿包子的面皮是硬壳,须得牙口利索,我猜是当年茶马古道上马帮的必不可少干粮,同西藏馕饼一个道理。汪老在书里说盘锦庆的火腿月饼全国率先,我在马拉加时特意找过,却未曾觅着,无法不说是一遭憾事。

(2) VirtualPathUtility类的显要措施

当下看霍达写的《穆斯林的葬礼》时,清真月饼给本人留下了科学的印象。后来到了宁夏,专门买来尝了尝,才知道里面竟然是葱香牛肉馅。不合时宜地想起了一个段落,火车就要开走了,姑娘说,大家是不可以的,如同那几个世界上一向不巧克力香辣牛肉月饼一样,十年后,一位糕点师一边烘焙着巧克力香辣牛肉月饼,一边默默地留住了泪花。

 1) string AppendTrailingSlash(string
VirtualPath);假设路径VirtualPath最后没有”/”则增加。

往实在里讲,我的意气是相比传统的,很多东西都是为了尝个新鲜,强忍着吞下。记得在巴尔的摩观前街西头有家鲜肉月饼店,天天排队的人都能排到堵车,我买过四回,一咬开里头竟然有鲜肉的汤汁,不理会间淌了一嘴,而嘴里滑腻腻的痛感就跟被人强行喂了嚼烂的凤爪一样。

 2) string Combine(string basePath,string
relativePath);将三个路子进行联合。

可是有一段时间,大家都在召唤着让五仁滚出月饼界,并声明着五仁月饼占领了垃圾桶时,我是为五仁深刻报不平的。常见的五仁即杏仁、葵花子仁、冬瓜子仁、榄仁、南瓜子仁。而这么些食材都是选料上成,价格不菲的。当压制在一齐时,咸中有淡,仁香浓郁,五味俱全。我所在的鲁南小城里,高校每到七夕都会发月饼,是当地历史悠久的孔府食物厂制作的苏式月饼,里头饼馅就是五仁。当外人拆开一看,马上扔进垃圾桶时,我两次三番义无反顾地拦下,送进肚子里。

 3) string GetDirectory(string virtualPath); 重回虚拟路径的目录部分。

在有着吃过的月饼里,我最青眼的骨子里豆沙月饼,那恐怕是由于自我对红豆的宠幸吧。唐人王维曾有诗云“红豆生南国,春来发几枝,愿君多搜集,此物最怀恋。”那江南的红豆融了自身有点纪念哦,以至于每一遍离乡北上求学时,我都要在背包里放几包红豆馅,当外人用煎饼卷大葱时,我卷的是红豆馅,甚至于总把馒头掰开,里头也灌进红豆馅。

 4) string MakeRelative(string fromPath,string toPath);
计算八个虚拟路径的相对路径。

孩提,每到元宵前夕,曾外祖母总要待在青砖老屋里制作月饼。故乡虽处闽西,但地缘上却借助宣歙二州,故而月饼也多是徽式月饼的花样,小巧玲珑,皮酥馅饱。曾祖母总会在做月饼前夜,用土灶熬好红豆,放入大批量红糖,然后用锅铲五回随处碾展成细豆沙,当他刮进锅里的豆沙乘进盆里时,我就用指头继续在锅里捋拭撮进口里,唯恐漏了锱铢。月饼制作流程大抵一致,用菜籽油揉面,把红豆沙放入面团里,捏紧收口,塞入模具,继而放入碳炉里烘烤,待到色泽金黄时,便可出炉,立时间整个村庄都弥漫着徽式月饼独有的花香。

 5) ToAbsolute:转换为相对路径。

当自家在宿舍谈论月饼时,湖州翠微的峰哥躺在床上想起了黄花鱼煎蛋月饼,隔壁老二也跑进来送了七个都林海蛎子月饼。我突然在想,当年在香格里拉的独克宗古镇里,吃到的此生最辣的牦牛肉火锅是还是不是也可以做成月饼呢,若是我吃着这种月饼,嘴里喷着火,一开腔也会肿成一块月饼吧。那得找个嗜辣如命的湖南孙女,一块块掰碎,就着清水喂我喝。

(3) 举例表达:新建一个Web项目,起名为路径.aspx

清明节的步子越来越近了,我也该指着家里人给自家寄些月饼,红豆沙的广式和苏式月饼就好,其余诸如酸辣月饼,巧克力香辣牛肉月饼云云,只好嘴上说说,当真的话,是纯属降不了的。

起名,   <a href=”/a.htm”>a</a> 

2014.8.29

   <a href=”~/b.htm”>b</a> 

i

   <asp:HyperLink ID=”HyperLink1″ runat=”server”
NavigateUrl=”/a.htm”>ce1</asp:HyperLink> 

   <asp:HyperLink ID=”HyperLink2″ runat=”server”
NavigateUrl=”~/b.htm”>ce2</asp:HyperLink>

 然后拖放八个HyperLink控件,给多个控件的Text起名为Ce1,ce2,给三个控件的NavigateURl赋值为”/b.htm”,”~/b.htm”。在Page_Load事件上面写入如下代码:

Response.Write(“<a href='” +
VirtualPathUtility.ToAbsolute(“~/a/b.htm”) + “‘>动态</a>” +
“<br />”);

Response.Write(VirtualPathUtility.Combine(VirtualPathUtility.AppendTrailingSlash(“~/a/b”),
“c.htm”));

  1. Request对象

(1)
Request.AppRelativeCurrentExecutionFilePath,获取当前施行请求的相对于采纳根目录的虚拟路径,以”~”开头,比如:”~/第七篇/index.aspx”。

Response.Write(Request.AppRelativeCurrentExecutionFilePath);

(2)
Request.physicalApplicationPath,获取当前选拔的物理路径,比如:E:\programmer\突然程序员操练题\aspnetpractice\ashx\

Response.Write(Request.PhysicalApplicationPath);

(3)
Request.PhysicalPath,获取当前哀求的情理路径,比如:E:\programmer\意料之外程序员操练题\aspnetpractice\ashx\第七篇\index.aspx

Response.Write(Request.PhysicalPath + “<br />”);

(4)
Request.RawURL,得到原始请求URL,比如:/ashx/第7篇/Index.aspx,Request.URL得到请求的URL,比如:http://localhost:2602/ashx/第7篇/Index.aspx,区别涉及到URL重写的问题。

      Response.Write(Request.RawUrl + “<br />”);

      Response.Write(Request.Url + “<br />”);

(5)
Request.UrlReferrer网页的发源,可以依照那么些论断从百度搜到的哪些关键字,防下载盗链,放图片盗链,可以以假乱真“本图片仅供天涯论坛内部沟通使用”,全局防盗链用Globals.asax。

(6) Request.UserHostAddress得到访问者的IP地址

Response.Write(Request.UserHostAddress + “<br />”);

(7)
Request.UserLanguage得到访问者浏览器帮忙的言语,可以透过那一个达成对分裂语言的人呈现分裂页面。

Response.Write(Request.UserLanguages + “<br />”);

(8)
Request.库克ies获取浏览器发过来的浏览器端的Cookie,从他里面读取Cookie值,比如:context.Request.Cookies[“mysessionID”],使用Request.Cookie的时候一般只是读取,将Cookie写回浏览器要用Response.库克ies。

(9)
Request.MapPath(virtualPath)将虚拟路径转换为磁盘上的大体路径,request.Mappath(~/第七篇/index.aspx)就会获取:E:\programmer\出乎意外程序员陶冶题\aspnetpractice\ashx\第七篇\index.aspx

 Response.Write(Request.MapPath(“~/第七篇/index.aspx”));

(10)
新建一个文书夹Request对象,然后新建一个貌似处理程序,新建一个HTML页面,在HTML页中写入如下代码:

<img src=”图片.ashx” />

然后在.ashx页面中写入如下代码:

 1  context.Response.ContentType = "image/JPEG";
 2 
 3         string fullPath = HttpContext.Current.Server.MapPath("1.jpg");
 4 
 5         using (System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(fullPath))
 6 
 7         {
 8 
 9             using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap))
10 
11             {
12 
13                 if (context.Request.UrlReferrer == null) //如果直接浏览则没有URlReferrer
14 
15                 {
16 
17                     //g.Clear(System.Drawing.Color.White);
18 
19                     g.DrawString("禁止直接浏览图片,请在页面中查看", new System.Drawing.Font("宋体", 20), System.Drawing.Brushes.Red, 0, 0);
20 
21                 }
22 
23                 else if (context.Request.UrlReferrer.Host != "localhost")
24 
25                 {
26 
27                     g.Clear(System.Drawing.Color.White);
28 
29                     g.DrawString("本图片仅限内部使用", new System.Drawing.Font("宋体", 20), System.Drawing.Brushes.Red, 0, 0);
30 
31                 }
32 
33                 g.DrawString("你的IP是:" + context.Request.UserHostAddress, new System.Drawing.Font("宋体", 20), System.Drawing.Brushes.Red, 0, 0);
34 
35                 if (context.Request.UserHostAddress == "127.0.0.1" || context.Request.UserHostAddress == "192.168.0.1")
36 
37                 {
38 
39                     //如果直接访问图片URLReferrer就是null,如果是嵌入到别的网页中的请求,URLReferrer就是页面的地址
40 
41                     g.Clear(System.Drawing.Color.Blue);
42 
43                     g.DrawString("IP被屏蔽", new System.Drawing.Font("宋体", 20), System.Drawing.Brushes.Red, 0, 0);
44 
45                 }
46 
47             }
48 
49             bitmap.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
50 
51         }

诠释:Request对象和虚拟路径我就说到那边了,下节博客是Response对象和Server对象。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图