Localhost IP-Adresse ist konstant, können Sie es, wenn Es ist localhost oder Remote-Benutzer bestimmt, verwenden können.
Aber Vorsicht, wenn Sie im Produktionsserver angemeldet sind, wird es auch als localhost betrachtet.
Dies umfasst IP v.4 und V. 6:
public static bool isLocalhost()
{
string ip = System.Web.HttpContext.Current.Request.UserHostAddress;
return (ip == "127.0.0.1" || ip == "::1");
}
Um völlig sicher zu sein, in welchem Server der Code an ausgeführt wird, können Sie die MAC-Adresse verwenden:
public string GetMACAddress()
{
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
String sMacAddress = string.Empty;
foreach (NetworkInterface adapter in nics)
{
if (sMacAddress == String.Empty)// only return MAC Address from first card
{
IPInterfaceProperties properties = adapter.GetIPProperties();
sMacAddress = adapter.GetPhysicalAddress().ToString();
}
} return sMacAddress;
}
aus : http://www.c-sharpcorner.com/uploadfile/ahsanm.m/how-to-get-the-mac-address-of-system-using-Asp-NetC-Sharp/
Und vergleichen Sie mit einer MAC-Adresse in web.config zum Beispiel.
public static bool isLocalhost()
{
return GetMACAddress() == System.Configuration.ConfigurationManager.AppSettings["LocalhostMAC"].ToString();
}
Ein Web-App auf localhost läuft immer :) –
Warum nicht eine Art von Konfiguration verwenden -basierter Wert, der die richtige Warteschlange angibt? –
Es wird ausgeführt, wo es zugewiesen wurde, wenn Sie nichts über Backend wissen, dann können Sie nicht finden, wo die Anwendung ausgeführt wird. Jedoch muss jede laufende Anwendung ein eigenes System haben, das als localhost bekannt ist. – perilbrain