PDA

View Full Version : مشکل دز serializable کردن کلاس sqlconnection و sqlcommand



..zeus..
سه شنبه 12 بهمن 1389, 15:52 عصر
سلام به یک مشکل در asp برخوردم من یک کلاس دارم به نام دیتا کاننکشن که داخل اون دو تا پراپرتی هست یکی از نوع sqlconnection ویکی از نوع sqlcommand می خوام این کلاس serializable بشه ولی با اضافه کردن این قید هم این مسئله ممکن نیست اگر کسی این مشکل رو حل کرد لطفا به من هم بگه ممنون

mehdi.mousavi
سه شنبه 12 بهمن 1389, 17:23 عصر
سلام به یک مشکل در asp برخوردم من یک کلاس دارم به نام دیتا کاننکشن که داخل اون دو تا پراپرتی هست یکی از نوع sqlconnection ویکی از نوع sqlcommand می خوام این کلاس serializable بشه ولی با اضافه کردن این قید هم این مسئله ممکن نیست اگر کسی این مشکل رو حل کرد لطفا به من هم بگه ممنون

سلام.
به برنامه نویس خوش آمدید...

واقعیت اینه که کلاس SqlConnection (خوشبختانه) Serializable مارک نشده (همینطور SqlCommand)، در نتیجه شما نمی تونید اونها رو Serialize کنید. چرا گفتم خوشبختانه؟ چون اصلا نیازی به این کار ندارید (و هیچ سناریوای نیز به ذهنم خطور نمیکنه که بگم وجود چنین قابلیتی لازم هست)... کافیه تا Connection String خودتون رو نگه دارید و هر وقت لازم بود، از روی Connection String یه Object جدید از نوع SqlConnection بسازید و ... اما شرایطی ممکنه وجود داشته باشه (که من خودم بهش نخوردم) که ممکنه کلاسی داشته باشید که دو عضو از این کلاسها (یا کلاسهای غیر Serializable دیگه) در کلاس شما وجود دارند و شما میخواهید کلاس خودتون رو Serialize کنید، اما وجود این Member ها این اجازه رو به شما نمیده. در چنین شرایطی، باید اون Member ها رو NonSerializedAttribute مارک کنید تا Serializer متوجه بشه که نباید برای Serialize کردن اون Member ها تلاش کنه...

موفق باشید.