下载URL重写组件,IIS是带有URL重写功能组件的,但是并没有集成到IIS中去,要自行下载安装,安装成功后在网站配置页面就会出现URL重写组件。
IIS下HTTP跳转HTTPS方法
Win2012下部署多个HTTPS网站
当一个https的请求到达IIS服务器时,https请求为加密状态,需要拿到相应的服务器证书解密请求。由于每个站点对应的证书不同,服务器需要通过请求中不同的主机头来判断需要用哪个证书解密,然而主机头作为请求的一部分也被加密。最终IIS只好使用第一个绑定到该IP:PORT的站点证书解密请求,从而有可能造成对于其他站点的请求失败而报错。
解决CEFSharp关闭时主程序退出的问题
昨天在写代码时,碰到了一个问题。
Form里面有一个TabControl,里面有多个TabPage,每个TabPage里面都放了一个CefSharp.WinForms.ChromiumWebBrowser用来展示网页。但是无论关闭任何一个Tabpage,主程序都会退出,并且在输出页面报 “程序[2508] XXX.vshost.exe 已退出,返回值为 -1073741819 (0xc0000005) ‘Access violation’。”
CefSharp屏蔽右键菜单
实现接口:
internal class MenuHandler : CefSharp.IContextMenuHandler
{
public bool OnContextMenuCommand(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.CefMenuCommand commandId, CefSharp.CefEventFlags eventFlags)
{
System.Console.WriteLine(@"OnContextMenuCommand");
return false;
}
public void OnContextMenuDismissed(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame)
{
System.Console.WriteLine(@"OnContextMenuDismissed");
}
public bool RunContextMenu(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.IMenuModel model, CefSharp.IRunContextMenuCallback callback)
{
System.Console.WriteLine(@"RunContextMenu");
return false;
}
public void OnBeforeContextMenu(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.IMenuModel model)
{
System.Console.WriteLine(@"OnBeforeContextMenu");
model.Clear();
}
}
调用:
C语言函数指针基础
本文写的非常详细,因为我想为初学者建立一个意识模型,来帮助他们理解函数指针的语法和基础。如果你不讨厌事无巨细,请尽情阅读吧。
函数指针虽然在语法上让人有些迷惑,但不失为一种有趣而强大的工具。本文将从C语言函数指针的基础开始介绍,再结合一些简单的用法和关于函数名称和地址的趣闻。在最后,本文给出一种简单的方式来看待函数指针,让你对其用法有一个更清晰的理解。
解读C指针
我想对很多学习C语言的新手来说,指针无疑是一个难点。但是,我觉得指针也是C语言特别重要的一个特性。也许,你在除了C和C++以外的编程语言中,很少看到指针。而C++中,也多用引用,而非指针。指针,作为一种高效的工具,可谓是一把双刃剑——用得好,可以大大提高程序效率,但用的不好,就是很多bug的滋生地。
为什么越学反而越蠢?碎片化学习是个骗局
先给你讲个故事,看你有没有中招。
有一天,你的朋友给你「知识装逼」了一个术语,牛!怎么知道的?—— 他推给你一个公众号。
你开始关注,觉得哇!大神!牛逼!长见识! 每天刷每天刷每天刷。很多问题也有了解决方法 —— 按照这个进度,过 3 年就能理解宇宙终极奥义了。
长期刷朋友圈接收碎片化知识有什么弊端?
碎片信息通常具备这样的特征:
- 它们往往是一些事实的集合而非逻辑
- 它们往往大量简化了推演过程
- 它们往往将多路径简化为单一路径
- 它们往往不够严谨、全面
简而言之,碎片信息为了达到易于习得的目的,通常会显著降低认知成本,最明显的方式就是:将复杂的事物简单化。它们往往只告诉你表面上的东西,却不会告诉你背后的原理,以及它与其他事物之间的联系。
RESTful API 设计
移动互联网时代,RESTful API成为越来越重要的移动端和服务器端交互的形式。尤其是在很多互联网公司或者传统行业拥抱移动互联网的时候,一套设计良好的Restful API能够帮助互联网产品支持单服务端+多客户端的场景。RESTful架构本身是一个风格而不是一个标准,这也就意味着在具体设计时会有不同的实现。
Linux开机启动十步骤

启动第一步–加载BIOS
当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。在BIOS将系统的控制权交给硬盘第一个扇区之后,就开始由Linux来控制系统了。