Веб-API возвращает неправильные значения после публикации в IIS - PullRequest
0 голосов
/ 26 января 2020

Пожалуйста, помогите мне. API, который я создал, работает нормально, когда я запускаю его с Visual Studio, но (методы POST) имеют проблемы, которые я развернул в IIS. Он возвращает неправильные значения, а иногда и нулевые значения. Если я go вернусь, чтобы проверить его в режиме отладки, он будет работать хорошо.

ЭТО ГДЕ Я ВЫЗЫВАЮ API

try
            {
                string apiToken = "DEFAULTAPI";

                EmployeeObject EmployeeObject = new EmployeeObject()
                {
                    username = "John Doe"
                    password = "12345"
                    apiToken = apiToken
                };

                var emp = JsonConvert.SerializeObject(EmployeeObject);
                string url = "http://localhost/PublishVersion/api/Company";
                //the url variable holds the published version link
                var response = client.PostAsync(url, new StringContent(emp, Encoding.UTF8, "application/json"));
                response.Wait();
                var result = response.Result;
                if (result.IsSuccessStatusCode)
                {
                    Uri employeeUrl = result.Headers.Location;
                    var statusMessage = result.Content.ReadAsStringAsync().Result;
                    if (statusMessage == "yes")
                    {
                        status = true;
                    }
                    else if (statusMessage == "no")
                    {
                        status = false;
                    }
                }
                return status;
            }

И ЭТО API

public string Post([FromBody] Employees employees)
    {
        string message = "no";
        if (employees != null)
        {
            string emp = employees.username;
            string password = employees.password
            string apiToken = employees.apiToken
            APIToken token = _dbContext.MyTable.Where(x => x.apitoken == apitoken).FirstOrDefault();
            //APIToken is a table which has properties company and boss (both string)
             if (token != null)
             {
               string company = token.company;
               string boss = token.boss;

               return message = "yes" + " " + company + "" + boss;
             }
             else
             {
               return message = "invalid token";
             }
        }

        return message + employee.username;
    }

API возвращает вызывающему абоненту «no John Doe», что не должно быть так, поскольку он отображал значение имени пользователя, которое показывает, что объект employee не является значение NULL. Почему он не go в блок кода, так как он прошел нулевую проверку? Эта проблема возникает только при развертывании проекта API в IIS (версия 10). Прекрасно работает в режиме отладки Visual Studio.

Кроме того, API и Winsform (откуда я его вызываю) находятся на одной машине.

Спасибо.

...