2010-08-25 27 views
5

Ambos devuelven la url entrante, solo para saber cuándo utilizar Request.UrlReferrer y cuándo Request.ServerVariables["HTTP_REFERER"] y por qué?Cuándo utilizar Request.UrlReferrer y cuándo Request.ServerVariables ["HTTP_REFERER"]?

Actualmente, en una de mis aplicaciones, Urlreferrer está trabajando en mi máquina local pero no funciona cuando se lanzó.

Además, es más apreciable si alguien puede guiar cualquier alternativa de Urlreferrer y HTTP_REFERRER?

Respuesta

4

Respondiendo a la última pregunta. Request.UrlReferrer devuelve un objeto URI, por lo que si UrlReferrer tiene un formato incorrecto, se obtiene una excepción. Parece extraño, pero algunas veces lo tengo. HTTP_REFERER es una cadena.

+0

+1 y gracias por esta respuesta. @fravelgue es correcto, un uri no válido para el referente en el encabezado HTTP causará una 'UriFormatException' si intenta acceder a la propiedad' UrlReferrer'. Ver mi respuesta aquí para un ejemplo: http://stackoverflow.com/questions/11878458/httpcontext-current-request-servervariableshttp-referer-null?nah=1#28845912 – rsbarro

0

¿Funciona el Request.ServerVariables[] en vivo? Tengo entendido que los dos son idénticos.

¿Puede ser que los proxies y/o firewalls (en el servidor, el cliente o en cualquier lugar entre ellos como un ISP) están eliminando el referente?

+0

Comprobé que no hay cortafuegos –

+0

@Gaurav: si lo probaste localmente (y funcionó) y ahora está activo, obtienes "otros" usuarios, entonces esos usuarios (o sus ISP) pueden tener firewalls, etc. –

+0

Actualmente esto es en vivo en nuestra propia red y los usuarios son de la misma red, donde funciona bien. Pero en vivo no funciona –