2010-04-29 7 views

Répondre

0

En supposant que vous envisagez de faire ce côté serveur de détection, alors qu'en est-il des anciennes ServerVariables?

string serverName = Request.ServerVariables["SERVER_NAME"]; 
string httpHost = Request.ServerVariables["HTTP_HOST"]; 

Une liste complète des variables du serveur est ici: http://www.aspcode.net/List-of-RequestServerVariables.aspx

1

Le plus proche vous allez probablement pour obtenir ce que vous voulez est le nom de la machine:

System.Environment.MachineName 

localhost est une adresse, et chaque machine peut s'accéder à travers elle (en supposant que quelqu'un n'a pas le singe avec le fichier hosts).

Vous pourriez obtenir l'URL d'accès à la page: Request.Url.AbsoluteUri. Cela vous indiquera très probablement dans quel environnement ils tentent d'atteindre (sauf s'ils utilisent un hôte local pour accéder au site).

Si le serveur est localhost, puis envoyer une notification par e-mail à [email protected] Si le serveur est QA, puis envoyez un courriel à [email protected]

Si vous avez accès à la configuration de la machine, un moyen plus facile pourrait être de placer l'adresse e-mail dans le appsettings que vous souhaitez envoyer des e-mails là-bas. De cette façon, vous pouvez le faire varier en fonction de l'environnement et ne pas vous inquiéter de la machine/url qu'ils essaient de toucher.

+0

où dans machine.config j'ajouterais l'adresse email? – user279521

+0

vous pouvez le placer dans la partie appsettings et accéder à la clé par son nom. – kemiller2002

1

La classe System.Web.HttpRequest a une propriété IsLocal qui vous dit exactement cela. C'est un peu plus robuste que d'utiliser les variables du serveur, car il vérifie des choses comme "127.0.0.1".

+0

prise intéressante. Je vais regarder dedans. Merci Josh !! – user279521