Request.IsLocal 替代方案?
Posted
技术标签:
【中文标题】Request.IsLocal 替代方案?【英文标题】:Request.IsLocal alternative? 【发布时间】:2012-10-05 22:42:15 【问题描述】:据我了解,Request.IsLocal 在两种情况下返回 true。如果请求发起者的 IP 地址是 127.0.0.1,或者请求的 IP 地址与服务器的 IP 地址相同。
我在一个由 cron 任务(使用绝对 URL)定期调用的页面上使用它。不幸的是,这个 cron 作业与页面在同一台服务器上运行,这意味着 IsLocal 总是返回 true。
理想情况下,如果我在本地主机上,我需要一个 just 返回 true 的函数。如何在 ASP.NET MVC 环境中执行此操作?
【问题讨论】:
我不理解你的意思,“我在本地主机上”。 cron 作业在 localhost 上运行,对吗?所以 IsLocal 正在返回正确的结果,不是吗? @cirrus cron 作业调用mydomain.com/mypage。如果我使用localhost/mypage,我希望它只返回true。 【参考方案1】:您可以查看 MVC 中的 Request.Url
属性,但您至少需要检查 127.0.0.1、localhost 和 ::1。如果您只想请求访问权限,您还可以使用 UrlRewrite 做很多事情。如果它返回真/假,你不会说你想做什么,但假设这是你想做的事情之一,看看 UrlRewrite。这篇文章也有很多有用的信息;
How to limit page access only to localhost?
【讨论】:
以上是关于Request.IsLocal 替代方案?的主要内容,如果未能解决你的问题,请参考以下文章
性能工具MiniProfiler在Asp.Net WebForm跟踪EntityFramework
如果 ASP.NET 应用程序在本地运行,请在 Global.Asax - Application_Start 中查找