El método WebApi con parámetro de dirección de correo electrónico devuelve 404 de HttpClient

Tengo un controlador WebApi con un método similar al siguiente:

[HttpGet]
[AcceptVerbs("GET")]
public HttpResponseMessage Run(string reportName, int someId, string someText, DateTime asOfDate, string username)

Tengo una ruta personalizada configurada específicamente para esta acción. Cuando navego con mi navegador al servicio web, todo funciona bien y se ejecuta la acción apropiada:

http://localhost:xxxx/ControllerName/Run/asdf/1/asdf/07-01-2012/[email protected]

Sin embargo, cuando intento realizar una llamada programática al servicio web utilizando el HttpClient y ejecutando un "Get" obtengo un error 404. No recibo un error cuando el parámetro de nombre de usuario no es una dirección de correo electrónico. Por ejemplo, cuando el nombre de usuario es simplemente "usuario", todo funciona bien. Aquí está el código de ejemplo:

var url = "http://localhost:xxxx/ControllerName/Run/asdf/1/asdf/07-01-2012/[email protected]"
var client = new System.Net.Http.HttpClient();
var response = client.Get(url);

//fails here with 404 error
response.EnsureSuccessStatusCode();

He intentado UrlEncoding la dirección de correo electrónico sin suerte. Cualquier consejo es apreciado.

Respuestas a la pregunta(4)

Su respuesta a la pregunta