Мне известно, что, как правило, отправка контента через GET-запрос невозможна!Тем не менее, я работаю над программным обеспечением для клиента, в котором существующая (производственная) служба веб-отдыха их приложения предоставляет следующий метод:
[OperationContract]
[WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
[JSONPBehaviorAttribute(callback = "callback")]
CrmDataObject Connection(CrmDataObject crmData)
Я думаю, что этот метод должен быть "POST",но это GET, и на этом этапе я ничего не могу с этим поделать, так как этот код находится в производстве, и есть несколько сторонних программ, которые вызывают эту функцию.
Я, однако, попытался написатьпростой клиент, чтобы вызвать этот метод и продолжать сбой по очевидным причинам:
var req = HttpWebRequest.Create(url);
req.Method = "GET";
req.ContentType = "application/json";
byte[] bytes = UTF8Encoding.UTF8.GetBytes(s);
req.ContentLength = bytes.Length;
using (var stream = req.GetRequestStream())
{
stream.Write(bytes, 0, bytes.Length);
}
Я получаю «Не удается отправить тело содержимого с этим типом глагола», логически.
Как получаютсяСторонние приложения, способные вызывать этот метод и передавать параметр json?Возможно ли это сделать в .Net?
Спасибо,