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

求助:修复MAUI DotNet中签名未找到错误(日期选择器场景)

MAUI DatePicker切换日期时触发“签名未找到”错误求助

我在.NET MAUI中实现了一个功能,希望在DatePicker切换日期时加载并展示数据,但运行时出现**“签名未找到”**错误,没能解决,求帮忙。

相关代码

XAML代码

<DatePicker Grid.Row="3" x:Name="mDatePicker" Style="{StaticResource dateStyle}" MinimumDate="01/01/2020" MaximumDate="12/31/2022" Date="01/01/2022" TextColor="White" DateSelected="Datepicker_SelectedIndexChanged" />

C#代码

private void Datepicker_SelectedIndexChanged(object sender, EventArgs e)
{
 DatePickAync();
}

public async void DatePickAync()
{

    var client = new RestClient();
    _dateToken = new DateToken();

    _dateToken.EmpKy = 874258;

    _dateToken.CompanyId = 156;

    _dateToken.FDT = new DateTime(2022 - 01 - 10);

    _dateToken.TDT = new DateTime(2022 - 01 - 31);

    _dateToken.Chk = 0;

    _dateToken.PrjKy = 1;

    _dateToken.TaskKy = 1;

    var request = new RestRequest("https://bl360x.com/BLEComTest/api/HR/MultiAtnAnlysis").AddJsonBody(_dateToken);

    request.Method = Method.Post;

    request.AddHeader("Accept", "application/json");

    request.AddHeader("IntegrationID", "1aa6a39b-5f54-4905-880a-a52733fd6105");

    request.AddHeader("Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6WyJWaWhhbi5CTCIsIlZpaGFuLkJMIl0sIm5hbWVpZCI6IlZpaGFuLkJMIiwiRmlyc3ROYW1lIjoiVmloYW4uQkwiLCJVc2VySWQiOiJWaWhhbi5CTCIsIkVtYWlsIjoiTm8gRW1haWwiLCJDQ0QiOiJEQyIsInJvbGUiOiJDb21wYW55QXV0aFN1Y2Nlc3MiLCJuYmYiOjE2NzI4OTA1NTUsImV4cCI6MTY3MjkzMzc1NSwiaWF0IjoxNjcyODkwNTU1fQ.dFO70i68Yx7XtglN96vgCPG3-fGNhbrvB_CH3FWQ8XA");

    request.AddHeader("Content-Type", "application/json");

    RestResponse response = await client.PostAsync(request);

    // Check the status code of the response

    if (response.StatusCode == HttpStatusCode.OK)
    {
    // Read the response data
    var responseContent = response.Content.ToString();

    Console.WriteLine(responseContent);

  }
 else
  {
        Console.WriteLine("Request failed with status code: " + response.StatusCode);
    }
 }

排查建议

  • 检查接口签名规则:后端返回“签名未找到”,优先确认请求是否包含后端要求的签名参数(可能在请求头或请求体),以及签名的生成逻辑是否和后端一致。
  • 修正DateTime初始化错误:代码中new DateTime(2022 - 01 - 10)会计算为2011,正确写法是new DateTime(2022, 01, 10),错误的日期值可能导致后端签名验证失败。
  • 规范异步方法:将async void DatePickAync()改为async Task DatePickAync(),事件处理方法改为private async void Datepicker_SelectedIndexChanged(...)并内部await DatePickAync();,便于捕获异步过程中的异常。
  • 验证请求体结构:确认DateToken类的属性名称、数据类型和后端接口定义完全匹配,序列化后的JSON字段是否符合要求,字段大小写、格式不匹配可能触发签名验证问题。
  • 检查令牌有效性:确认Authorization中的Bearer令牌是否过期,以及是否具备访问该接口的权限,令牌无效也可能被后端返回类似错误。

内容的提问来源于stack exchange,提问作者Danul Hivi Vihan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 21:35:17