【问题标题】:Send data form C# to Visual Basic API将数据从 C# 发送到 Visual Basic API
【发布时间】:2017-03-14 14:46:55
【问题描述】:

我有一个用 C# 编写的 API 和另一个用 Visual Basic 编写的 API。我需要将一些 JSON 格式的信息从 C# 中的 API 发送到 Visual Basic 中的 API,希望使用 POST 动词。情况的上下文是这样的。移动应用程序将信息发送到 C# 中的 API,API 将数据保存在位于服务器的数据库中,然后如果信息正确,C# 中的 API 必须将数据发送到 Visual Basic API 并将其保存在其他服务器中.有人知道如何将数据从 C# 发送到 Visual Basic 吗?谢谢。

【问题讨论】:

  • 有什么问题?
  • 我找不到将数据从 C# 发送到 Visual Basic 的方法。如果一直在使用 WebRequest 库,但只有在我使用 GET 并将参数添加到 url 时才有效,如果我使用 POST 它不起作用
  • 为什么要涉及 VBA 代码?只需将其保存到两台服务器上所需的任何格式即可。
  • C# 和 VB(假设为 .NET)都编译为 IL 代码——就 CLR 而言,它们完全一样。哎呀,您甚至可以在同一个解决方案中编译 C# 和 VB 项目,并在另一个中引用一个。有什么问题?

标签: c# json vb.net api-design


【解决方案1】:

一个 API 在 C# 中,另一个在 VB 中并不重要。只要您发送的 json 是有效的(尝试验证您在 jsonlint.com 发送的 json)并且可以映射到 API 接受的对象,一切都应该没问题。 似乎端点 api 不接受请求。

【讨论】:

    【解决方案2】:

    这是我的 C# 代码

    try
            {
                var request = (HttpWebRequest)WebRequest.Create(URL);
                request.ContentType = "application/json";
                request.Method = "POST";
    
                using (var streamWriter = new StreamWriter(request.GetRequestStream()))
                {
                    string json = new JavaScriptSerializer().Serialize(new
                    {
                        var1 = "example1",
                        var2 = "example2"
                    });
    
                    streamWriter.Write(json);
                }
    
                var response = (HttpWebResponse)request.GetResponse();
                using (var streamReader = new StreamReader(response.GetResponseStream()))
                {
                    var result = streamReader.ReadToEnd();
                    return Request.CreateResponse(HttpStatusCode.OK, new { Respuesta = result }, "application/json");
                }
            }
            catch(Exception e)
            {
                return Request.CreateResponse(HttpStatusCode.InternalServerError, new { Respuesta = e.ToString() }, "application/json");
            }
        }
    

    这是我在 Visual Basic 中的函数

    Public Function PostValue(ByVal json as String)
        return json
    End Function
    

    仅此而已。把这个错误扔给我 { "Respuesta": "System.Net.WebException: 远程服务器返回错误: (404) Not Found。\r\n 在 System.Net.HttpWebRequest.GetResponse()\r\n 在 Servicios.Controllers.SAPEnviarFacturasController.SAPEnviarFacturas () 在 C:\TFS\Servicios\Controllers\SAPEnviarFacturasController.cs:line 44" }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      • 2022-06-14
      • 2011-04-04
      • 1970-01-01
      相关资源
      最近更新 更多