通过 dotnet sdk 将 SessionID 传递给 api.ai

Pass SessionID to api.ai through dotnet sdk

这似乎是一个非常微不足道的问题,但我找不到通过 ApiAi.TextRequest 调用传递 SessionID 的方法

好的,事实证明它的 sdk 是以一种只能从客户端工作的方式构建的。 It generates the GUID internally:

    public AIDataService(AIConfiguration config)
    {
        this.config = config;

        if (string.IsNullOrEmpty(config.SessionId))
        {
            SessionId = Guid.NewGuid().ToString();
        }
        else
        {
            SessionId = config.SessionId;
        }
    }

所以我最后做的是将 SessionId 对象添加到 ApiRequest 对象:

    [JsonProperty("sessionId")]
    public string SessionId { get; set; }

显然您需要重构方法签名