Я нахожусь в процессе написания веб-приложения WCF и мне нужно проверить, занят ли адрес электронной почты или нет.Это должен быть запрос, который клиентский код может выполнить перед попыткой PUT
.
Итак, я пытаюсь использовать HEAD
в сочетании с кодами состояния HTTP.Я немного не уверен, как это сделать, так как это простой ответ да / нет, который требуется.Итак, я использовал HttpResponseExceptions
, чтобы вернуть соответствующий код состояния.
[WebInvoke(Method = "HEAD", UriTemplate = "{email}")]
[RequireAuthorisation]
public void IsEmailAddressTaken(string email)
{
if (!Regex.IsMatch(email, Regexes.EmailPattern))
{
throw new RestValidationFailureException("email", "invalid email address");
}
if (_repository.IsEmailAddressTaken(email))
{
throw new HttpResponseException(HttpStatusCode.OK);
}
throw new HttpResponseException(HttpStatusCode.NoContent);
}
Мне это просто не "пахнет".да / нет правильная операция?