У меня есть метод, который получает более одного параметра. Подпись метода с атрибутами выглядит следующим образом:
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
public int AddUser(string firstName, string lastName, string emailaddress) { // actions here }
Однако, когда я использую этот метод, я получаю следующее исключение:
HttpOperationHandlerFactory не может определить ввод
параметр, который должен быть связан с содержимым сообщения запроса
для сервисной операции «Инициирование». Если операция не ожидает
содержание в сообщении запроса использовать метод HTTP GET с
операция. В противном случае убедитесь, что один из входных параметров имеет
Свойство IsContentParameter имеет значение True или является типом, который
присваивается одному из следующих: HttpContent, ObjectContent`1,
Итак, я создал собственный объект (например, ниже) для передачи.
[DataContract]
public class UserToAdd {
[DataMember] public string firstName { get; set; }
[DataMember] public string lastName { get; set; }
[DataMember] public string emailAddress { get; set; }
}
Используя эту новую подпись:
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
public int AddUser(UserToAdd user) { // actions here }
Когда я делаю это, я получаю 404. Кажется, я не могу победить. Есть предложения?