Как опубликовать JSON в webapi с помощью Webclient в.net 3.5

Поэтому я пытаюсь назвать свой метод записи web api(.net 4.0), как показано ниже.

public class ApiClientController : ApiController
{
  [HTTP Post]
  public string RequestMethod(ParamClass MyClass)
    {
      Dostuff\\
    }
}

Вызов это из моей службы Windows (.NET 3.5), как показано ниже

WebClient client = new WebClient();
string webApiUrl = "http://localhost:51482/";
ParamClass param = new ParamClass() { //set params };

//using System.Runtime.Serialization 
Json.DataContractJsonSerializer serializer = new 
Json.DataContractJsonSerializer(param.GetType());

MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, param);

string serialisedData = Encoding.Default.GetString(ms.ToArray());
var response = 
client.UploadString("http://localhost:51482/api/ApiClient/RequestPapp", 
serialisedData);

Также мой класс обслуживания Windows Param выглядит следующим образом

[DataContract]
public class ParamClass
{
    [DataMember]
    public string name { get; set; }
    [DataMember]
    public string refNo { get; set; }
    [DataMember]

}

Но в моем веб-интерфейсе API ParamClass MyClass является нулевым при пост-вызове и значения не поступают (при отладке). Я попытался добавить [DataContract] и [DataMember] в Param class webapi, но не повезло. Ранее я выполнял эту задачу из службы Windows

  client.PostAsJsonAsync<ParamClass>("/api/ApiClient/RequestPapp", param);

И это сработало. Но я должен использовать.net 3.5 и httpClient класса 4.0.

Пожалуйста, помогите мне. Заранее спасибо.

0 ответов

Другие вопросы по тегам