我有一段代碼需要在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)? –