我正在运行一个 Web 应用程序,如果在本地运行,它会显示一些调试行为 - 资源字符串周围的引号等 - 并且我想在我无法访问互联网的会议上在我的笔记本电脑上演示该应用程序,所以它必须是本地的。
应用程序使用 HttpContext.Current.Request.IsLocal 来确定它是否在本地运行 - 有什么方法可以欺骗它吗?我想欺骗它返回“False”,即使我确实在本地运行。
我确实可以访问源代码(并意识到我可以演示一个注释掉“IsLocal”检查的构建),但不想为此演示进行特殊构建。如果需要,我会这样做,但我宁愿不受影响地使用现有的代码库。
Request.IsLocal 属性实现以下代码:
public bool IsLocal {
get {
String remoteAddress = UserHostAddress;
// if unknown, assume not local
if (String.IsNullOrEmpty(remoteAddress))
return false;
// check if localhost
if (remoteAddress == "127.0.0.1" || remoteAddress == "::1")
return true;
// compare with local address
if (remoteAddress == LocalAddress)
return true;
return false;
}
来源:反编译源代码(微软:参考source.microsoft.com http://referencesource.microsoft.com/#System.Web/WorkerRequest.cs,ab8517882440da8b )
希望这可以帮助 !
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)