私は、予定のスケジューリングを担当するコントローラーメソッドを持っています。私はサービスにログインする予定の5分前にSMS(twilio)を介してユーザーに思い出させるタスクをスケジュールする予定です。ここで ハンギング火災の難点コールメソッド
は私のメソッド呼び出しです:private SMSNotifier sms = new SMSNotifier();
BackgroundJob.Schedule(() => sms.SendPatientUpcomingApptNotificationTest(appointment), appointment.Start.AddMinutes(-5));
、ここで私のクラスである:
public SMSNotifier()
{
var accountSid = ConfigurationManager.AppSettings["TwilioSid"];
// Your Auth Token from twilio.com/console
var authToken = ConfigurationManager.AppSettings["TwilioToken"]; ;
TwilioClient.Init(accountSid, authToken);
}
public void SendPatientUpcomingApptNotificationTest(Appointment appt)
{
var message = MessageResource.Create(
to: new PhoneNumber("+xxxxxxxxxx"),
from: new PhoneNumber("+xxxxxxxxxx"),
body: string.Format("Hello {0} {1}! You have an upcoming web based video appointment with xxxxxxxxxx. Please login to the website to be seen. Your appointment time is: {2} Thank you - xxxxxxxx", "xxxxxxx", "xxxxxxxx", appt.Start));
}
}
私はこのエラーを得続ける:
Server Error in '/' Application.
Self referencing loop detected for property 'User' with type 'System.Data.Entity.DynamicProxies.AspNetUser_80E6332CC002F8FCF589159A68E74A0922BEE992586B9FE280D950E149CCC7EB'. Path 'Patient.ActiveSessions[0]'.
しかし、私はちょうど理解していませんなぜ。私はどこでもUserオブジェクトを参照しません。
私は、明らかにそのエラーをググ言及する必要があります:この
なしはありませんy進歩。私はまだ同じエラーがあります。
あなたはどう思いますか?
「SendPatientUpcomingApptNotificationTest」メソッドをスケジュールしようとしている方法と関係があります。私はConsole.WriteLineを行うことができ、それはうまくジョブをキューに入れます。
IE:完全
ありがとうございます。ピーターさん、とても助かりました。私は問題なく今すぐ仕事を待ち行列に入れることができるようです。私の他の質問は、SMSNotifierクラスのコンストラクタが正しく実行されるかどうかです。私はまだ、HangFireコンソールでnull参照エラーが発生しています。しかし、SendPatientUpcomingApptNotificationTestメソッドを手動で実行すると正常に動作します。奇妙な権利ですか? – Waragi
心配しないで、私の側でエラー。ピーター、ありがとう! – Waragi