Службы WCF письменной форме ставить или удалять методы сбоев сервиса
Я создаю веб-сервис для взаимодействия с базой данных, и он должен выполнять операции CRUD. Прямо сейчас он отлично работает с операцией чтения и записи служба WCF должна иметь метод, который вызывается из jQuery всякий раз, когда страница завершает загрузку, чтобы получить список всех поставщиков, и он отлично работает, однако, когда я обновляю службу WCF с помощью такого метода
[OperationContract] [WebInvoke(Method = "PUT", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] public Object PutSupplier(int id, Supplier oParameter) { // Do work }
ОПЕРАЦИОННАЯ
[OperationContract] [WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] public Object DeleteSupplier(int id) { // Do work }
Что-то происходит, и никакие данные не возвращаются, когда страница загружается, и операция вставки тоже не удалась, и я получил внутреннюю ошибку 500?!. Например,если бы вся служба WCF стала невидимой или не функционировала.
Вот мои другие методы службы WCF и вызов jQuery/Ajax
[OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] public List<Supplier> GetSupplier(int id) { // Add your operation implementation here return DbContext.DbContextManager.GetSupplier(id.ToNullableInt()); } [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] public Supplier PostSupplier(Supplier oParameter) { return DbContext.DbContextManager.PostSupplier(oParameter); }
<script> $(function () { $.ajax({ method: 'GET', url: '/WebServices/NameService.svc/GetSupplier', data: JSON.stringify({ id : 0 }), dataType: 'json', contentType: 'application/json; charset=utf-8', success: function (item) { $.each(item, function (i) { var _tr = '<tr><td class="readonly-"><input type="text" class="form-control" value="' + item[i].CompanyName + '" style="display:table-cell; width:100%" readonly/></td><td>' + '<button type="button" id="pencilbutton_' + item[i].SupplierId + '" class="btn btn-success">' + '<span class="glyphicon glyphicon-pencil"></span> Pencil</span></button>' + '<button type="button" id="removebutton_' + item[i].SupplierId + '" class="btn btn-danger"><span class="glyphicon glyphicon-remove"></span> Remove</button></td></tr>'; $('tbody').append(_tr); }); } }); $('table').on('focus', 'input[type="text"]', function () { $(this).removeAttr('readonly'); }); $(':button[class*="btn-primary"]').click(function () { if (Page_ClientValidate("MyValidationGroup")) { $.ajax({ method: 'POST', url: '/WebServices/NameService.svc/PostSupplier', data: JSON.stringify({ 'SupplierId': 0, 'CompanyName': $(':text[class="form-control"]').val() }), dataType: 'json', contentType: 'application/json; charset=utf-8', success: function (item) { var _tr = '<tr><td class="readonly-"><input type="text" class="form-control" value="' + item.CompanyName + '" style="display:table-cell; width:100%" readonly/></td><td>' + '<button type="button" id="pencilbutton_' + item.SupplierId + '" class="btn btn-success">' + '<span class="glyphicon glyphicon-pencil"></span> Pencil</span></button>' + '<button type="button" id="removebutton_' + item.SupplierId + '" class="btn btn-danger"><span class="glyphicon glyphicon-remove"></span> Remove</button></td></tr>'; $('tbody').append(_tr); } }); } }); }); </script>
Что я уже пробовал:
Вместо этого я пытаюсь использовать POST