2

こんにちは、ボット状態サービスで StateClient を使用して、現在の日付をこの (2016-09-23T18:38:41) 形式で保存しているという点で、ボット プロジェクトに取り組んでいます。ここで、SetProperty() メソッドを使用して日付値を保存しているときに問題に直面していますが、GetProperty() メソッドを使用して値を取得しようとすると、(1/1/0001 12:00:午前00時)。上記の概念について、プロジェクトに以下のコード行を書き、ここにコードを入力します

 var result = new ValidateResult { IsValid = true, Value = message.Text };
 DateTime? dt = DateTime.ParseExact(message.Text, "dd/MM/yyyy",      CultureInfo.InvariantCulture);
                if (dt.Value.Date < DateTime.Now.Date)
                {
                    await context.PostAsync("**Please enter a valid date like in the format DD/MM/YYY**" + " \r \n ");
                    result.IsValid = false;
                }
     else
      {
                    TimeSpan ts = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
                    dt = dt.Value.Date + ts;
                    d = dt.Value.Date + ts;
                    result.Value = dt;

      //saving the date format using SetProperty() using StateClient and BotData
                    BotData userData = await stateClient.BotState.GetUserDataAsync(message.ChannelId, message.From.Id);
                    userData.SetProperty<DateTime?>("dt", dt);-->Here i am saving the date format like (2016-09-23T18:38:41)
                    await stateClient.BotState.SetUserDataAsync(message.ChannelId, message.From.Id, userData);
                    await context.PostAsync("user message");
                }



     //Getting the data using GetProperty() using BotData
         BotData userData = await stateClient.BotState.GetUserDataAsync           (message.ChannelId, message.From.Id);
        var date= userData.GetProperty<DateTime>("dt");-->here i am getting the date format is like(1/1/0001 12:00:00 AM)

上記のコードの問題点と解決方法を教えてください。

4

1 に答える 1

0

ユーザー ボット データ バッグ GetUserDataAsync および SetUserDataAsync 操作全体で一貫した (message.ChannelId、message.From.Id) を使用していない可能性が最も高く、DateTime は値型であるため、GetProperty はデフォルト (DateTime) を返しています。価値。

于 2016-09-28T17:30:31.510 に答える