تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 5 از 5

نام تاپيک: try...catch برای وب سرویس و لزوم استفاده کردن یا استفاده نکردن از حذف و ویرایش آبشاری

  1. #1
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض try...catch برای وب سرویس و لزوم استفاده کردن یا استفاده نکردن از حذف و ویرایش آبشاری

    سلام دوستان
    سوال اول: فرض کنید من یک وب سرویس دارم که مثلاً عمل حذف از یک جدول رو انجام می ده
    من از try استفاده می کنم و ExecuteNonQuery رو اجرا می کنم.
    حالا داخل catch چی بنویسم؟ آخه سمت سرور که نمی شه از فرم و کلاس های آن استفاده کرد.
    وقتی از try...carch استفاده نمی کنم و خطایی هم در کارم وجود داره یک صفحه باز می شه و ماجرای خطا رو می گه ولی ما باید همیشه فرض رو بر ساده کردن کارها برای کاربر قرار بدیم.
    به نظر شما اصلا لزومی داره که داخل catch دستوری قرار داده بشه. می خواهم همه چیز استاندارد باشه.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    سوال دوم: اصولاً استفاده از حذف آبشاری و ویرایش آبشاری توصیه می شود؟ چرا؟

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    1)
    استفاده از ساختار Try مفید است، میتوانید حداقل یک مقدار bool از تابع خود بازگردانید که نشانگر انجام یا عدم انجام عملیات باشد تا فراخوانننده، همواره بدون مشکل بتواند تابع شما را فراخوانی کند و به سادگی از صحت انجام کار مطلع شود و در صورت نیاز خود فراخواننده پیغام مناسبی را نشان دهد.
    در جهت دیگر میتوانید یک مکانیزم ثبت گزارش خطاها را در catch مستقر کنید تا مقادیر متغییر ها و توضیح خطا و ... در محلی ذخیره شود، تا بعداً و سرفرصت برنامه نویس پروژه بتواند با مطالعه این گزارش های خطا، دلیل را پیدا کند و برنامه را رفع باگ کند.

    2)
    بستگی به نوع دیتا و برنامه دارد و تشخیص آن به عهده برنامه نویس است.
    شما باید تشخیص دهید که آیا میخواهید با حذف یک والد کلیه اطلاعات وابسته هم حدف شوند یا خیر و...

  3. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  4. #3
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض

    با سلام
    من از سمت سرور یک dataset رو می فرستم. اگر رشته بود می شد آرایه ای از رشته ها رو فرستاد.
    البته همه چیز درسته و برنامه با سلامت کامل کار می کنه. آیا ممکن احیاناً اتفاقی بیفته و برنامه درست کار نکنه؟
    به نظر شما من باید چه کاری را انجام دهم؟
    با تشکر

  5. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اگر منظورتان در خصوص Try است باید بگویم، تجربه نشان داده بهترین کدها هم در شرایط خاص با مشکل مواجه میشوند، مخصوصاً که مربوط به دیتابیس شوند، خطاهایی رخ میدهد که حتی فکرش را هم نکرده اید.
    یک دستور آپدید ساده و محکم و صحیح به راحتی و در شرایط یک در هزار میتواند با خطای zero update مواجه شود، چیزی که خیلی ها تا حالا اصلاً ندیده اند!

    این خطاها میتوانند ناشی از بی دقتی برنامه نویس (duplicate و یا دستورات کار روی مقادیر درحالی که Null هستند و... ) باشد و جبر شرایط.

    یا حتی به علت درخواست و پردازش های همزمان زیاد، هر دستوری به راحتی میتواند با timeout مواجه شود و...

    در کل به نظر من داشتن یک بلوک try برای دستورات دیتابیسی بد نیست.

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  7. #5
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض

    با سلام

    ممنونم
    راستش علم شما از فهم من خیلی بالاتر است. به مطالبی اشاره می کنید که به صورت تئوری قابل فهم نیست. حتماً باید تجربه اندوخت تا فرمایشات شما قابل درک باشد.
    من از همان دستوراتی که در برنامه ام دارم استفاده می کنم تا انشاء الله با اندوختن علم و تجربه بیشتر، این مفاهیم را عملاً در ک کنم.
    با تشکر فراوان
    Last edited by قله بلند; 22-12-2008 at 16:40.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •