我需要将字典中的一些字段(来自 VB.Net 应用程序)以 JSON 格式发送到 Web 服务。
下面是代码:
Dim dict As New Dictionary(Of String, String)
dict.Add("Drinks", "2")
dict.Add("ID", "1")
Dim parameters As String = JsonConvert.SerializeObject(dict)
Dim jsonString As String = "{""Pram"":""" + parameters + """}"
Dim Uri As New Uri(String.Format("http://***/WebServices/UpdateSQL"))
Dim data = Encoding.Default.GetBytes(jsonString)
Dim result_post As String = SendRequest(Uri, data, "application/json", "POST")
在我的网络服务(ASP.NET c#)中,我尝试捕获上面的字符串,如下面的代码所示
public ActionResult UpdateSQL(string Pram)
我收到错误代码 500:内部服务器错误。我尝试从 VB 应用程序传递各个字段,效果很好。如果我发送各个字段,下面是代码
Dim jsonString As String = "{""SQL"":""" + sSQL + """," &
"""TableName"":""" + tableName + """," &
"""Drinks"":""""2"",""ID"":""1""}"
上面的 json 字符串在发送时工作得非常好,并在 Web 服务中捕获,如下代码所示:
public ActionResult UpdateSQL(string SQL, string TableName, string Drinks, string ID)
仅当我将字典序列化为字符串并尝试发送时,才会出现内部服务器错误。
如果我遗漏了什么,请告知。谢谢