مطالب
WF:Windows Workflow #1
چرا از WorkFlow در پروژه‌های نرم افزاری استفاده می‌شود ؟

زمانیکه در حال انجام یک پروژه نرم افزاری هستید که این پروژه دارای پیچیدگی خاصی از لحاظ فرآیند و قوانین کاری می‌باشد بهترین راه حل Workflow Engine یا BPMS Engine می‌باشد.
البته شایان ذکر می‌باشد که میان این دو Engine تفاوت‌های بسیاری وجود دارد. شاید خیلی از برنامه نویس‌ها از خود این سوال را بپرسند که تمام قوانین کاری و فرآیند‌های یک سازمان را می‌توان با کد نویسی انجام داد، چه نیازی به این Engine‌ها برای مکانیزه کردن فرایند‌های یک سازمان است؟
جواب این سوال را با یک مثال ساده آغاز می‌کنم :
فرض کنید یک فرآیند خیلی ساده داریم که کار آن دریافت اطلاعات از بانک اطلاعاتی و ارسال آن به مدیر بخش و دریافت تایید از طرف مدیر می‌باشد. این کار توسط دو کاربر انجام می‌شود که در سازمان نقش و سطح دسترسی مختلفی را دارا می‌باشند و به این نکته توجه کنید و آن اینکه فرض کنید زمانیکه نرم افزار شما در سازمانی در حال انجام کار می‌باشد به شما خبر داده می‌شود که کاربر x به مرخصی رفته و نقش آن به کسی دیگر سپرده شده است و این کار باید از طریق سیستم و با تایید مدیر انجام شود و یا سطح دسترسی افراد در سازمان عوض شود. این ساده‌ترین فرآیند‌ی است که در زمان انجام پروژه با آن رو به رو می‌شویم .
اگر این فرآیند‌های ساده را بخواهیم با  100% کد نویسی  انجام دهیم، تعداد خط کد‌ها بسیار زیاد، زمان بر و انرژی زیادی از گروه گرفته می‌شود و مشکل به تعداد خط کد زیاد نیست، مشکل اصلی آن جایی است که برای پروژه بعدی قصد استفاده از این سیستم را داشته باشیم و نیاز به تغییر در بعضی از قسمت‌های سیستم باشد در این قسمت است که بیشترین زمان و انرژی از گروه گرفته می‌شود ولی در صورت استفاده از Workflow می‌توان در کمترین زمان و هزینه، پیچیده‌ترین Business Logic‌ها را پیاده سازی کرد.
نکته دیگری که در مورد اینگونه Engine‌ها باید گفته شود این است که در معماری SOA نقش فراوانی را دارا می‌باشند .
نظرات مطالب
بررسی خطای Circular References در ASP.NET MVC Json Serialization
خیلی ممنون . میشه یه نمونه کد یا سایت یا چیزی برام بزارید که من دقیقا بدونم چیرو کجا  و چجوری تغییر بدم؟
کاری که من خودم کرده بودم این بود که از کلاس JsonResult یک کلاس دیگه ساخته بودم که ازش ارث می‌برد  و  بعد با تنظیمات ReferenceLoopHandling.Ignore   متد Execute.... اون رو override کردم . جواب هم داد . فقط یه گیری داشت .اونم اینکه من تو مدلم یک فیلدی دارم که از نوع Byte[] هستش . و توش فایل هامو نگه میدارم . تو حالتی که اولیه خودش من بالای این فیلد  [ScriptIgnore] گذاشته بودم و خوب کار میکرد . اما وقتی با این کلاس جدیدم اونو serelize میکنم همه چیزو serelize میکنه و این باعث شده خیلی کند بشه . یه راهنمایی بکنید که یا حالت اول باشه ولی ارور circular   نده یا حالت دوم باشه ولی فیلد‌های باینری رو serelize نکنه . ممنون میشم کمکم کنید .
نظرات مطالب
معرفی DNTBreadCrumb
متد  this.AddBreadCrumb را در صفحه‌ی جاری جستجو کنید.