مشکل دریافت اطلاعات به صورت Undefined موقع استفاده از SignalR
با سلام
من یک پروژه با AspCore نوشتم که قراره اطلاعات رو به صورت Realtime با استفاده از SignalR و SqlDepndency دریافت کنه . کدها به صورت کامل کارمیکنه و هر گونه تغییر در دیتابیس رو انجام و نشون میده منتها به جای اینکه اطلاعات رو به همون صورت که ذخیره شده نشون بده به صورت undefined میاد بالا .

public class DeputyHub : IDeputyHub
{
private readonly IHubContext<SignalServer> _context;
readonly string connectionString = "";
private readonly IConfiguration configuration;
public DeputyHub(IConfiguration config, IHubContext<SignalServer> context)
{
configuration = config;
connectionString = configuration.GetConnectionString("OfficeSoftDB");
_context = context;
}
public List<Deputy> Deputies()
{
var Deputylst = new List<Deputy>();
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlDependency.Start(connectionString);
SqlCommand com = new SqlCommand("Select DeputyName,OrgName,Explain From Deputy", conn);
SqlDependency dependency = new SqlDependency(com);
dependency.OnChange += new OnChangeEventHandler(DbChangeNotification);
SqlDataReader reader = com.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
var Deputyl = new Deputy
{
DeputyName = reader["DeputyName"].ToString(),
OrgName = Convert.ToInt32(reader["OrgName"]),
Explain = reader["Explain"].ToString(),
};
Deputylst.Add(Deputyl);
}
}
}
return Deputylst;
}
private void DbChangeNotification(object sender, SqlNotificationEventArgs e)
{
_context.Clients.All.SendAsync("refreshTblDputy");
//if (e.Type == SqlNotificationType.Change)
//{
//}
//GetDeputys();
}
}
دوستان اگر اطلاعاتی در این مورد دارن . لطفاً به اشتراک بزارید . تشکر
پاسخ هوش مصنوعی
مشکل شما ممکن است به دلیل نوع داده ها یا نحوه ارسال آن ها به کلاینت باشد. به نظر می رسد که در ارسال اطلاعات از سرور به سمت کلاینت، نوع داده ها به درستی شناسایی نمی شود و به همین دلیل به صورت undefined دریافت می شود.
در کدی که ارایه داده اید، بررسی کنید که نوع داده ها در کلاس Deputy به درستی تعریف شده باشد. به عنوان مثال، اطمینان حاصل کنید که نوع OrgName به درستی تنظیم شده است. اگر OrgName در پایگاه داده نوعی غیر از عدد (مانند رشته) باشد و شما آن را با Convert.ToInt32 تبدیل کنید، این می تواند منجر به مشکلاتی شود.
کد کلاس Deputy به صورت زیر ممکن است باشد:
public class Deputy
{
public string DeputyName { get; set; }
public string OrgName { get; set; } // تغییر نوع به string اگر نوع آن در DB رشته است
public string Explain { get; set; }
}
همچنین، هنگام ارسال اطلاعات به کلاینت، مطمین شوید که داده ها به صورت صحیح فرمت شده اند:
private void DbChangeNotification(object sender, SqlNotificationEventArgs e)
{
var deputies = Deputies(); // دریافت داده ها دوباره
_context.Clients.All.SendAsync("refreshTblDputy", deputies); // ارسال داده ها
}
در نهایت، در کلاینت، مطمین شوید که داده های دریافتی به درستی پردازش می شوند و به صورت undefined نمایش داده نمی شوند:
connection.on("refreshTblDputy", function(deputies) {
console.log(deputies); // بررسی داده ها در کنسول
// کد برای به روزرسانی جدول یا UI
});
این نکات را بررسی کنید و اگر مشکل برطرف نشد، در جزییات بیشتر بپرسید تا بهتر بتوانیم کمک کنیم.
دوستان عزیز اگر ممکنه در مورد سوال بالا کمک کنید . دقیقا یه هفته س به نتیجه نمیرسم .
کد قسمت های دیگه هم قرار بدین (Hub - Js)
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2