مطالب
مقایسه‌ای کوتاه بین WCF و ASMX

ویژگی WCF ASMX
حداقل پیشنیاز دات نت سه دات نت یک
هدف جایگزینی یکپارچه‌ی فناورهای قبلی شامل
ASMX ، WSE ،
MSMQ ، COM+ Eenterprise
services
و .NET Remoting
ارائه وب سرویس
پروتکل‌های پشتیبانی شده HTTP
TCP
Named pipes
MSMQ
Custom
UDP
HTTP only
پشتیبانی از WS-* standards بلی خیر
پشتیبانی از اطلاعات بایناری بلی خیر
پشتیبانی از REST بلی خیر
میزبان‌های مهیا در هر نوع برنامه‌ی تهیه شده با دات 3 به بعد قابل
میزبانی است، مانند یک برنامه کنسول، یک سرویس ویندوز ان تی و غیره. به این لیست IIS را هم می‌توان اضافه کرد.
فقط IIS
سرعت WCF Services‌ نسبت به ASMX Web Services از 25
تا 50 درصد سریعتر هستند + و +

نحوه‌ی پاسخ دهی به درخواست‌ها (یا ایجاد یک وهله جدید) Singleton / private session / per call per-call
پشتیبانی از تراکنش‌ها (transaction) پشتیبانی تو کار + خیر
امنیت پشتیبانی تو کار + خودتان باید فکری برای این موضوع نمائید.
بسط پذیری بلی + خیر
مدت زمان یادگیری حداقل یک ماه یک روز!

نظرات مطالب
ASP.NET Web API - قسمت اول
قبول، ولی در هر حال آیا راهی جز Http Client برای دسترسی به Web API وجود دارد ؟

مثلا مبدل Linq به OData ؟
به همراه Change Tracking و ...
در ضمن موارد مهمی از OData مانند batch$ در Web API پشتیبانی نشده اند، و باید برایشان Message Formatter نوشت، این نیز کار را سخت می‌کند
بر خلاف نظر دوستان به نظر من به هیچ وجه هیچ فریم ورکی راحت‌تر از WCF Data Services وجود ندارد، که جمعا با 3 خط کد راه اندازی می‌شود.
مطالب
سطح دوم cache در NHibernate

عموما دو الگوی اصلی caching در برنامه‌ها وجود دارند: cache aside و cache trough .
در الگوی cache trough ، سیستم caching داخل DAL (که در اینجا همان NHibernate است)، تعبیه می‌شود؛ مانند سطح اول caching که پیشتر در مورد آن صحبت شد. در این حالت cache از دید سایر قسمت‌های برنامه مخفی است و DAL به صورت خودکار آن‌را مدیریت می‌کند.
در الگوی cache aside ، کار مدیریت سیستم caching دستی است و خارج از NHibernate قرار می‌گیرد و DAL هیچگونه اطلاعی از وجود آن ندارد. در این حالت لایه caching موظف است تا هنگام به روز شدن بانک اطلاعاتی، اطلاعات خود را نیز به روز نماید. این لایه عموما توسط سایر شرکت‌ها یا گروه‌ها برنامه نویسی تهیه می‌شود.
NHibernate جهت سهولت کار با این نوع cache providers خارجی، نقاط تزریق ویژه‌ای را تدارک دیده است که به second level cache معروف است. هدف از second level cache فراهم آوردن دیدی کش شده از بانک اطلاعاتی است تا فراخوانی‌های کوئری‌ها به سرعت و بدون تماس با بانک اطلاعاتی صورت گیرد.
در حال حاضر (زمان نگارش این مطلب)، entity framework این لایه‌ی دوم caching یا به عبارتی دیگر، امکان تزریق ساده‌تر cache providers خارجی را به صورت توکار ارائه نمی‌دهد.
در NHibernate طول عمر second level cache در سطح session factory (یا به عبارتی طول عمر تمام برنامه) تعریف می‌شود و برخلاف سطح اولیه caching محدود به یک سشن نیست. در این حالت هر زمانیکه یک موجودیت به همراه ID منحصربفرد آن تحت نظر NHibernate قرارگیرد و همچنین سطح دوم caching نیز فعال باشد، این موجودیت در تمام سشن‌های برنامه بدون نیاز به مراجعه به بانک اطلاعاتی در دسترس خواهد بود (بنابراین باید دقت داشت که هدف از این سیستم، کار سریعتر با اطلاعاتی است که سطح دسترسی عمومی دارند).

در ادامه لیستی از cache providers خارجی مهیا جهت استفاده در سطح دوم caching را ملاحظه می‌نمائید:

  • AppFabric Caching Services : بر اساس Microsoft's AppFabric Caching Services که یک پلتفرم caching محسوب می‌شود (+). (این پروژه پیشتر به نام Velocity معروف شده بود و قرار بود تنها برای ASP.NET ارائه شود که سیاست آن به گونه‌ای جامع‌تر تغییر کرده است)
  • MemCache : بر اساس سیستم معروف MemCached تهیه شده است (+).
  • NCache : (+)
  • ScaleOut : (+)
  • Prevalence : (+)
  • SysCache : بر اساس همان روش آشنای متداول در برنامه‌های ASP.NET به کمک System.Web.Caching.Cache کار می‌کند؛ یا به قولی همان IIS caching
  • SysCache2 : همانند SysCache است با این تفاوت که SQL dependencies ویژه SQL Server را نیز پشتیبانی می‌کند.
  • SharedCache : یک سیستم distributed caching نوشته شده برای دات نت است (+).
این موارد و پروایدرها جزو پروژه‌ی nhcontrib در سایت سورس فورج هستند (+).


مطالب تکمیلی:



اشتراک‌ها
نگاهی به EF7 RC1

· EF 7.0.0 will not become the “official” version of Entity Framework.
· EF6 will continue to be the official version.
· EF6 will continue to be what’s delivered when you install entityframework via Nuget.
· Your apps that use EF6 will not automatically update to EF7!  

نگاهی به EF7 RC1
نظرات اشتراک‌ها
RIA Services و پشتیبانی از EntityFramework 5.0.0
من الان برای انجام بروژه ام نیاز دارم از سیلورلایت استفاده کنم . نسخه ویژوال استدیو من 2013 Ultimate هست با EF6 و سیلورلایت 5 . اون چیزهایی که تو اموزش سیلورلایت 4 گفتین اصلا تو این نسخه نمیدونم نیست یا اینکه VS2013 من اونها رو نداره . چیزهایی مثله Domain Service و غیره رو تو Add New Item نداره.یکسری بکیجها توی نیوگت بیدا کردم ولی اونا تا EF5 رو سابورت میکردند . من EF6 رو نیاز دارم . با این وجود نمیدونم چه جوری باید WCF RIA استفاده کنم . اگه میشه یه راهنمایی بکنید .  خیلی ممنون از شما.