Внутренняя ошибка сервера WebAPI 500, не вызывается метод API - PullRequest
0 голосов
/ 12 ноября 2018

Итак, я делаю какое-то приложение на основе WebAPI, и у меня возникает проблема при вызове метода API для входа в систему. Вот код обоих методов, на стороне сервера и на стороне клиента. Сторона сервера:

[HttpPost]
[ActionName("Login")]
public IHttpActionResult Login(LoginVM model)
{
    if (!ModelState.IsValid)
    {
        return BadRequest("bad-data");
    }

    bool isValid = false;
    int roleId = 0;

    using (var db = new FoodOrderingContext())
    {
        if (db.Users.Any(x => x.UserName.Equals(model.Username) && x.Password.Equals(model.Password)))
        {
            isValid = true;
            roleId = db.Users.First(x => x.UserName.Equals(model.Username)).RoleId;
        }
    }

    if (!isValid)
    {
        return NotFound();
    }

    return Ok(roleId.ToString());
}

Клиентская сторона:

public int Login(string usr, string pass)
{
    using (var client = new HttpClient())
    {
        client.BaseAddress = new Uri("http://localhost:52407/");
        LoginVM model = new LoginVM(usr, pass);
        var postTask = client.PostAsJsonAsync<LoginVM>("api/account/Login", model);
        postTask.Wait();

        var result = postTask.Result;
        if (result.IsSuccessStatusCode)
        {
            MessageBox.Show("Success!");
        }
        else
        {
            MessageBox.Show(result.StatusCode.ToString());
        }
    }

    return 0;
}

Я пытался создать точки останова, но безрезультатно. Код вообще не вводит метод на стороне сервера. Есть идеи? Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...