我有一段代码需要在ASP.NET中的global.asax中运行。我希望此代码仅在本地主机上运行,并且在EC2实例上的代码时,我希望它运行另一个代码(当我在Amazon Web Service EC2服务器上部署项目时应运行第二个代码),但如何在没有使用DEBUG功能?在Global.asax中检查代码在本地机器上还是在EC2上运行
回答
要检查该请求是否是从本地计算机,这样做:
bool isLocal = HttpContext.Current.Request.IsLocal;
if(isLocal)
{
// Do things that should only be done when request is local here
}
注:阅读HttpRequest.IsLocal documentation以获取更多信息。
谢谢,但我的意思是别的。检查当前站点正在运行的计算机是不是我的笔记本电脑的EC2计算机。也许有一个服务器变量可以访问,告诉我们该计算机是一个EC2实例? –
我想uyou可以选择一些环境变量FRM的这些: 环境变量(型ENV) EC2_AMI_ID EC2_AKI_ID EC2_ARI_ID EC2_AMI_MANIFEST_PATH EC2_PLACEMENT_AVAILABILITY_ZONE EC2_HOSTNAME EC2_INSTANCE_ID EC2_INSTANCE_TYPE EC2_LOCAL_HOSTNAME EC2_PUBLIC_HOSTNAME EC2_PUBLIC_IPV4 EC2_RESERVATION_ID EC2_SECURITY_GROUPS RS_EIP RS_SERVER RS_SKETCHY RS_SYSLOG RS_TOKEN RS_SERVER_NAME 从这里取列表:https://support.rightscale.com/09-Clouds/AWS/FAQs/FAQ_0013_-_What_EC2_environment_variables_are_available_in_RightScripts%3F
我认为,检查EC2_AMI_ID和EC2_INSTANCE_ID的可用性就足以回答您的问题。
如果您正在使用ASP.NET开发服务器(VS 2012和更早版本)使用此方法:
public static bool IsDebugWebServer()
{
if (HttpContext.Current != null && HttpContext.Current.Request != null)
{
return HttpContext.Current.Request.ServerVariables["SERVER_SOFTWARE"] == null || HttpContext.Current.Request.ServerVariables["SERVER_SOFTWARE"] == string.Empty;
}
else
{
return false;
}
}
如果您正在使用本地IIS Express中使用这样的:
public static bool IsDebugWebServer()
{
return String.Compare(Process.GetCurrentProcess().ProcessName, "iisexpress") == 0;
}
- 1. TeamCity是否可以在本地机器上运行源代码?
- 2. 确定我是在Cloudhub上运行还是在本地运行
- 3. 检查是否具有此代码在Global.asax中IsCallback上的Application_BeginRequest
- 4. GCJ:Java本地代码,不会在其他机器上运行
- 5. 如何从本地机器上的脚本在aws-ec2上运行脚本?
- 6. 在Azure上运行本机代码
- 7. 在无头EC2机器上运行硒?
- 8. 在远程机器上运行代码
- 9. 在本地机器上运行PHP?
- 10. 如何在ASP.NET MVC中查看站点是在本地主机上还是在127.0.0.1上运行
- 11. 检查PHP是否在本地服务器上运行
- 12. 从我的本地机器连接在EC2机器上运行的卡夫卡
- 13. 如何查找Windows是在虚拟机上还是在物理机上运行?
- 14. 代码在本地主机上运行良好,但不在gatorhost上执行
- 15. 在sturtup上运行脚本还是在网络上运行? Ubuntu17.04
- 16. 如何检查正在执行的代码是在IIS还是NUnit中运行?
- 17. 如何在本地主机上运行htaccess重写代码
- 18. 在本地主机上运行PHP代码的问题
- 19. 检查WebSocket的服务器正在运行(在本地主机上)
- 20. Symfony2项目在本地主机上运行,文件在EC2上发现问题
- 21. Phpmailer在本地主机上运行,但不在服务器上
- 22. 检查应用程序是否在服务器上运行或本地运行
- 23. 代码在JSfiddle中工作,但不在本地机器上
- 24. Ajax代码在本地主机上运行xamp,但无法在主机上运行?
- 25. 如何确定我是在本地PC上还是在云上运行?
- 26. 北行应用程序在本地主机上还是在Mininet主机上运行?
- 27. ftp_get在本地主机上运行,但不在生产服务器上运行
- 28. 检查您的代码是否在64位PHP上运行
- 29. 如何检查Kibana 4是否在Linux机器上运行?
- 30. 在客户机上运行java代码
你usinglocal您的DEV机器上的IIS Express或旧的Visual Studio开发服务器(cassini)? –