Wpis ograniczenia „httpMethod” na trasie musi mieć wartość ciągu

Mam projekt Web API asp.net i w moimWebApiConfig mam zdefiniowaną następującą trasę:

config.Routes.MapHttpRoute(
    name: "Web API Get",
    routeTemplate: "api/{controller}",
    defaults: new { action = "Get" },
    constraints: new { httpMethod = new HttpMethodConstraint("GET") }
    );

Do celów testowania integracji chcę złożyć wniosek doHttpSelfHostServer aby sprawdzić, czy otrzymujemy właściwe dane z połączenia api. RobięHttpRequestMessage następująco:

var httpMethod = new HttpMethod("GET");
var request = new HttpRequestMessage(httpMethod, "http://localhost:XXXX/api/User/");
var results = _client.SendAsync(request).Result;

Spodziewałbym się, że wywołałoby to metodę Get na kontrolerze UserController, a następnie zwróci wyniki zgodnie z definicją w tej metodzie. Zamiast tego otrzymuję następujący wyjątek:

System.InvalidOperationException: Wpis ograniczenia „httpMethod” na trasie z szablonem trasy „api / {controller}” musi mieć wartość ciągu lub być typu, który implementuje „IHttpRouteConstraint”

Ten sam adres URL (http://localhost:XXXX/api/User/) działa bezbłędnie, gdy używam go w przeglądarce, więc jestem pewien, że problem musi dotyczyć sposobu wysyłania żądania doHttpSelfHostServer przezHttpClient. Próbowałem użyćHttpMethod.Get zamiast tego stała, ale to również rzuciło ten sam błąd.

Czy ktoś ma jakiś pomysł, jak mogę rozwiązać ten problem?

questionAnswers(1)

yourAnswerToTheQuestion