You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将正常运行的C# POST请求代码改写为X++等效代码?

对应的X++ POST请求实现代码

以下是与你提供的C#代码功能等效的X++代码,适用于Dynamics 365 Finance & Operations环境:

static void SendPostRequest(Args _args)
{
    System.Net.Http.HttpClient client;
    System.Net.Http.HttpRequestMessage request;
    System.Net.Http.StringContent content;
    System.Net.Http.HttpResponseMessage response;
    System.String jsonContent;
    System.String responseBody;
    System.Uri requestUri;
    System.Net.Http.Headers.MediaTypeHeaderValue contentType;

    // 初始化HTTP客户端
    client = new System.Net.Http.HttpClient();

    // 构建请求地址
    requestUri = new System.Uri("http://localhost:8080/users");

    // 创建POST请求实例
    request = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod::Post, requestUri);

    // 定义请求的JSON内容
    jsonContent = "{\"id\":\"2\",\"name\":\"Karam\"}";
    content = new System.Net.Http.StringContent(jsonContent);

    // 设置Content-Type头部为application/json
    contentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
    content.get_Headers().set_ContentType(contentType);

    // 绑定请求内容
    request.set_Content(content);

    try
    {
        // 发送同步请求(X++环境中优先使用同步调用)
        response = client.SendAsync(request).Result;

        // 验证请求是否成功
        response.EnsureSuccessStatusCode();

        // 读取响应内容
        responseBody = response.Content.ReadAsStringAsync().Result;

        // 在Infolog中输出响应结果
        info(responseBody);
    }
    catch (Exception::CLRError)
    {
        // 捕获CLR异常并输出错误信息
        error(AifUtil::getClrErrorMessage());
    }
    finally
    {
        // 释放资源,避免内存泄漏
        if (response) response.Dispose();
        if (request) request.Dispose();
        if (client) client.Dispose();
    }
}

关键说明:

  • X中通过调用.NET的System.Net.Http类库实现HTTP请求,逻辑和C#对齐但语法需符合X规范
  • 因Dynamics 365运行环境限制,这里使用同步调用(通过.Result获取异步任务结果),若需异步处理需结合Task上下文
  • 必须确保AOS服务具备访问目标URL的网络权限
  • 异常处理专门捕获CLR类型错误,通过AifUtil::getClrErrorMessage()获取详细异常信息

内容的提问来源于stack exchange,提问作者Hasan A Yousef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 11:10:19