我的web服务无法工作,因为HttpContentHeaders没有实现Add(System.Object)

时间:2017-07-05 10:22:09

标签: c# json web-services

我是这个人的新手,所以请保持温柔。

我正在向web服务添加一个方法,以便它可以从另一个方法接收POST。 POST在正文中包含一个JSON对象,其中包含接收解决方案中我需要的参数。

我正在使用HttpClient的PostAsync方法发送数据(如FormUrlEncodedContent),我试图将其作为HttpRequestMessage接收。

当我尝试编译和构建时,我在接收服务中收到此错误

  

要成为XML可序列化,从IEnumerable继承的类型必须具有   Add(System.Object)在其所有级别的实现   继承层次结构。 System.Net.Http.Headers.HttpContentHeaders   没有实现Add(System.Object)。

奇怪的是我在POSTing webservice中使用了这两个(我在页面上使用ajax来测试它)并且没有遇到这个问题。

这是发件人:

string url = *url*;

HttpClient client = new HttpClient();
Dictionary<string, string> parameters;

parameters = new Dictionary<string, string>
{            
     { "*variablename1", *string* },               
     { "variablename2", *string* },
     { "variablename3", *string* },
     { "variablename4", *string* }
};     

     var content = new FormUrlEncodedContent(parameters);

     HttpResponseMessage response = client.PostAsync(url, content).Result;

这应该是接收它......

public void Receive(HttpRequestMessage request)
{
    string data = request.Content.ReadAsStringAsync().Result;
    *Database object* = new *Database object*();

    string decodedString = HttpUtility.UrlDecode(data);

    *Stuff that processes decodedString into a dictionary and puts it in database*

我喜欢的是知道如何让它工作,所以HttpRequestMessage的替代品不依赖于具有add方法的HttpContentheaders,或者发送不具有&#的帖子的另一种方式39;在接收端需要它们。

对于模糊的代码道歉,我只是一个程序员三个月而且我的公司使用了很多机密数据,我只是背负着我。

0 个答案:

没有答案