بعد از معرفی نسخهی 2 از Asp.Net Web Api و پشتیبانی رسمی آن از OData بسیاری از توسعه دهندگان سیستم نفس راحتی کشیدند؛ زیرا از آن پس میتوانستند علاوه بر امکانات جالب و مهمی که تحت پروتکل OData میسر بود، از سایر امکانات تعبیه شده در نسخهی دوم web Api نیز استفاده نمایند. یکی از این قابلیتها، مبحث مهم Batching Processing است که در طی این پست با آن آشنا خواهیم شد.
منظور از Batch Request این اس ...
طی این پست
با تزریق وابستگیها در Asp.net MVC آشنا شدید. روش ذکر شده در آن برای کنترلرهای Web Api جوابگو نیست و باید از روشهای دیگری
برای این منظور استفاده نماییم. نکته 1: برای پیاده سازی این مثالها، Castle Windsor به عنوان
IOC Container انتخاب شده است. بدیهی است میتوانید از Ioc Container
مورد نظر خود نیز بهره ببرید.
نکته 2 : میتوانید از مقاله [هاست سرویسهای Web Api با استفاده از OWIN و TopShelf] ...
در بسیاری از سناریوها این موضوع مطرح میشود که سرویسهای طراحی شده بر
اساس Asp.Net Web Api، فقط به یک سری آی پیهای مشخص سرویس دهند. برای مثال
اگر Ip کلاینت در لیست کلاینتهای دارای لایسنس خریداری شده بود، امکان
استفاده از سرویس میسر باشد؛ در غیر این صورت خیر. بسته به نوع پیاده سازی
سرویسهای Web api، پیاده سازی این بخش کمی متفاوت خواهد شد. در طی این پست این
موضوع را برای سه حالت IIs Host و SelfHost و Owin Host بررسی میک ...
تا پیش از این به احتمال زیاد با Interceptorها در IOC Containerها متفاوت آشنا شدید و برای AOP از آنها استفاده کردهاید. در این جا نیز
دقیقا همان مفهوم و هدف را دنبال خواهیم کرد؛ اضافه کردن و تزریق کدهای
نوشته شده به منطق برنامه. کاربرد Interceptorها در انگولار،
زمانی است که قصد داشته باشیم یک سری تنظیمات عمومی را برای درخواستهای
http$ انجام دهیم. همچنین میتوان انجام برخی مراحل مشترک، نظیر
اعتبارسنجی یا مدیریت خطا ...
یک نکتهای که در توسعه سیستمها و نرم افزارها تاکید فراوانی به آن میشود استفاده مجدد از کدهای نوشته شده قبلی است. یعنی تا جای ممکن باید ساختار پروژه به گونهای نوشته شود که از تکرار کدها در جای جای پروژه جلوگیری شود. این مورد به خوبی در زبانهای شیءگرا نظیر #C رعایت میشود اما در پروژههایی که مبتنی بر Javascript هستند نظیر angular، باید با استفاده از خاصیت prototype جاوا اسکریپ این مورد را رعایت نمود. در مقاله Dr. Axel Rauschmay ...
Content Negotiation
، مکانیزمی است که طی آن مصرف کننده یک سرویس http تعیین میکند که خروجی
مورد نظر از سرویس به چه فرمتی در اختیار آن قرار گیرد. این قابلیت بسیار
زیبا در Asp.Net Web Api فراهم میباشد. اما از آن جا که در WCF به صورت
توکار مکانیزمی جهت پیاده سازی این قابلیت در نظر گرفته نشده است میتوان
از طریق یک کتابخانه ثالث به نام WCFRestContrib به این مهم دست یافت.
...
زمانیکه از Templateهای پیش فرض تدارک دیده شده در VS.Net برای اپلیکیشنهای وب خود استفاده میکنید، وب اپلیکیشن و سرور با هم یکپارچه هستند و تحت IIS اجرا میشوند. به وسیله Owin میتوان این دو مورد را بدون وابستگی به IIS به صورت مجزا اجرا کرد. در این پست قصد داریم سرویسهای Web Api را در قالب یک Windows Service با استفاده از کتابخانهی TopShelf هاست نماییم.
پیش نیاز ها:
» Owin چیست
...
در این پست با BrightStarDb و مفاهیم اولیه آن آشنا شدید. همان طور که پیشتر ذکر شد BrightStarDb از تراکنشها جهت ذخیره اطلاعات پشتیبانی میکند. قصد داریم روش شرح داده شده در اینجا را بر روی BrightStarDb فعال کنیم. ابتدا بهتر است با روش ساخت مدل در B*Db آشنا شویم.
*یکی از پیش نیازهای این پست مطالعه این دو مطلب ( ^ ) و ( ^ ) میباشد.
فرض میکنیم در دیتابیس مورد نظر ...
پیاده سازی Extender
همان طور که در پستهای و مثالهای قبلی مشاهده شد با استفاده از Ko.Observable توانستیم عملیات مقید سازی را به کمک ویژگیهای خواندن و نوشتن ساده، پیاده سازی نماییم. اما قصد داریم در طی عملیات نوشتن به جای یک tracking ساده تغییرات، بتوانیم یک سری عملیات مشخص را نیز اجرا نماییم. چیزی شبیه به AOP دنیای back-end . یعنی بتوانیم کد اصلی برنامه را در هنگام عملیات خواندن و نوشتن خاصیتها، با یک سری کد مورد نظر مزین ...
در این پست درباره به اشتراک گذاری دادهها بین کنترلرهای Angular بحث شد. اما استفاده از Factory و Service فقط زمانی کاربرد دارد که بخواهیم یک منبع داده مشخص را در اختیار مصرف کننده قرار دهیم. اگر قصد داشته باشم بر اساس شرایط خاص، داده یا دادههای مشخصی در سایر کنترلرها تغییر پیدا کنند چه باید کرد؟ به زبان سادهتر برای ایجاد ارتباط بین کنترلرها به طوری که از تغییرات یکدیگر باخبر باشند چه راهکارهایی وجود دارد. on$ و emit$ و broadcast$ ب ...