اشتباهات رایج برنامه نویسی در شیرپوینت – قسمت اول

در این مقاله قصد دارم اشاره ای به برخی از  اشتباهات رایجی که در بین برنامه نویسان شیرپوینت وجود دارد ، داشته باشم . در این مقاله به صورت کوتاه به برخی از این موارد خواهم پرداخت و در مقالات بعدی به طور کامل در مورد آنها مطالبی را خدمت شما عزیزان ارائه خواهم کرد .
خطاهای Disposing
زمانی که شما با .Net  برنامه نویسی میکنی نگرانی در مورد آزاد کردن آبجکت ها از حافظه ندارید چون میدانید که Grabage Collector  بخوبی این وظیفه را برای شما انجام میدهد اما در مورد شیرپوینت کمی قضیه متفاوت است و شما میبایست حواستان به برخی از آبجکت ها در شیرپوینت باشد وگرنه باعث خطاهای بسیاری خواهند شد.
دو نوع از پرکاربردترین این آبجکت ها SPSite  و SPWeb  میباشد که تقریبا در تمام کدهایی که مینویسید از آن استفاده میکنید ، پیشنهادی که در مورد این آبجکت ها شده به کار بردن Using  در هنگام استفاده از این آبجکت هاست ولی در برخی از موارد همDispose  کردن این آبجکت ها مشکلاتی را برای بقیه قسمت های برنامه به وجود می آورد و شما باید متوجه باشید که چه هنگام میبایست این آبجکت ها را Dispose  کنید ، برای اطلاعات بیشتر در این ضمینه میتوانید به این لینک های زیر مراجعه کنید :
خطاهای دسترسی
یکی از بزرگترین چالش هایی که برنامه نویسان شیرپوینت با آن روبرو هستند خطاهای دسترسی است ، زمانی که شما وب پارتی مینویسید و یا کدی که میبایست به یک سری از لیست ها و یا مخازن اسناد دسترسی پیدا کند ، اگر کاربر دسترسی لازم برای این کار را نداشته باشد با خطاهای دسترسی مواجه میشود ، برای جلوگیری از این خطاها راه های متفاوتی وجود دارد ، به طور مثال استفاده از کلاس هایی مثل SPSecurity  یا WindowsIdentity و یا استفاده از SPUserToken  به شما کمک میکند تا از خطاهای احتمالی در این ضمینه جلوگیری کنید ،البته متدهای بسیاری در این ضمینه وجود دارد ولی معمول ترین آنها این سه روش است . برای اطلاعات بیشتر میتوانید به لینک های زیر مراجعه کنید :
عدم فراخوانی متد Update
همانطور که میدانید آبجکت مدل شیرپوینت امکاناتی را برای شما فراهم کرده که بتوانید به راحتی به تمام قسمت های شیرپوینت دسترسی داشته باشید ، این کلاس ها به شما کمک میکنند بتوانید اقدام به ایجاد ، بروز رسانی و یا حذف آبجکت هایی مثل وب ، لیست ، آیتم و … کنید .
اما وقتی شما از این کلاس ها استفاده میکنید باید به خاطر داشته باشید که در اکثر مواقع پس از انجام تغییرات میبایست از متد Update استفاده کنید تا تغییرات مورد نظر شما اعمال شود ، برخی مواقع فراموش کردن این موضوع باعث سردرگمی خود شما خواهد شد زیرا به نظر شما همه چیز درست است ولی نکته اینجاست که بدون فراخوانی این متد هیچ اتفاقی نخواهد افتاد !
عدم استفاده از AllowUnsafeUpdates
تغییرات در شیرپوینت گاهی اوقات به صورت مستقیم بر روی دیتابیس اعمال میشود ، برخی مواقع این دسترسی به دیتابیس به صورت امن انجام نمیشود و اگر نیازمند این باشید که حتما این تغییر صورت گیرد باید از AllowUnsafeUpdates از کلاسSPWeb  استفاده کنید تا بتوانید تغییرات لازم را اعمال کنید . برای اطلاعات بیشتر میتوانید به این لینک مراجعه کنید .
جلوگیری از خطاهای زمان اجرا
یکی از مواردی که همیشه در هنگام برنامه نویسی در شیرپوینت باید به خاطر داشته باشید این است که خطاهایی که در زمان اجرا رخ میدهد بسیار زیاد است ! علت آن هم این است که شیرپوینت محصولی است که شما آنرا ننوشته اید و حتی اگر ۱۰۰ درصد هم به کدی که نوشتید اطمینان داشته باشید همیشه عامل هایی وجود دارد که باعث خطا خواهد شد ، پس پیشنهاد میکنم حتما از امکاناتی مثل Try ،  Catch استفاده کنید تا درصد خطاهایی که در برنامه های شما به وجود می آید جلوگیری کنید .
موفق و پیروز باشید.

پاسخ دهید