نظرات مطالب
مسیریابی در AngularJs #بخش اول
سلام این نمونه کد در فایرفاکس به درستی کار میکنه ولی در گوگل کروم یا ie با خطاهای  زیر مواجه میشم
1)OPTIONS file:///E:/Users/admin/Downloads/Compressed/RouteExample/RouteExample/templates/page_two.html No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. angular.min.js:99


2)XMLHttpRequest cannot load file:///E:/Users/admin/Downloads/Compressed/RouteExample/RouteExample/templates/page_two.html. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

اشتراک‌ها
ASP.NET Core 6 Preview 5 منتشر شد

Here’s what’s new in this preview release:

  • .NET Hot Reload updates for dotnet watch
  • ASP.NET Core SPA templates updated to Angular 11 and React 17
  • Use Razor syntax in SVG foreignObject elements
  • Specify null for Action and RenderFragment component parameters
  • Reduced Blazor WebAssembly download size with runtime relinking
  • Configurable buffer threshold before writing to disk in Json.NET output formatter
  • Subcategories for better filtering of Kestrel logs
  • Faster get and set for HTTP headers
  • Configurable unconsumed incoming buffer size for IIS 
ASP.NET Core 6 Preview 5 منتشر شد
اشتراک‌ها
نحوه توزیع یک Angular component به npm

In this post I’ll quickly explain the minimum you need to know in order to publish an Angular component to npm. By the end of the post you’ll know how your module to: 

  • Be platform independent (i.e. run in Web Workers, Universal).
  • Should be bundled and distributed.
  • Work with the Angular’s Ahead-of-Time compiler.
  • Play well with TypeScript and allow autocompletion and compile-time type checking. 
نحوه توزیع یک Angular component به npm
نظرات مطالب
پشتیبانی توکار از ایجاد کلاس‌های Singleton از دات نت 4 به بعد
- مبحثی که در اینجا مطرح شده، مرتبط با حالت‌های عدم استفاده‌ی از سیستم تزریق وابستگی‌ها است. البته می‌توان این نوع Container‌ها را در حالت «service locator»، در همه‌جا استفاده کرد و محدودیتی هم ندارند.
- اگر از یک سیستم تزریق وابستگی‌ها استفاده می‌کنید، مطلب جاری را فراموش کنید. یک کلاس معمولی را ایجاد کرده و یک اینترفیس را از آن استخراج کنید (مانند همیشه و بسیار عادی). سپس این اینترفیس و کلاس پیاده سازی کننده‌ی آن‌را با «طول عمر» singleton به این IoC Container معرفی کنید (مهم نیست نام آن IoC Container چیست. این روش همه جا کار می‌کند). اکنون چون مدیریت طول عمر این سرویس توسط IoC container مورد استفاده کنترل می‌شود، می‌توانید در سازنده‌ی آن تمام سرویس‌های دیگر را هم تزریق کرده (مانند تمام سرویس‌های دیگر تعریف شده) و استفاده کنید؛ چون وهله سازی و مدیریت طول عمر آن توسط خود Container مدیریت می‌شود.
- استفاده و یا تعریف متدهای Async در اینجا هیچ تفاوتی با قبل ندارد. همان امضای متدهای Task دار و در صورت نیاز async دار را ارائه دهید.

یک نکته: تزریق وابستگی‌ها در سازنده‌ی کلاس‌هایی با طول عمر singleton یکسری نکات خاص خودشان را دارند.
نظرات مطالب
آموزش سیلورلایت 4 - قسمت‌های 21 تا 27
WCF RIA Services این امکان رو به شما می‌ده که به منطق پیاده سازی شده در سمت سرور در برنامه‌ی سمت کلاینت خودتون (یعنی همان برنامه سیلورلایت) به شکل شکیلی دسترسی داشته باشید. به این صورت دیگر نیازی نخواهد بود مدلی را سمت کاربر پیاده سازی کنید، اعتبار سنجی را این طرف هم مجددا اعمال کنید، هر بار که WCF Service تغییر کرد، در سمت کلاینت مجبور به به روز رسانی باشید و خیلی موارد دیگر. تمام این‌ها یکبار در سمت سرور پیاده سازی می‌شود و سپس توسط فریم ورک WCF RIA Services در سمت کلاینت قابل دسترسی خواهد بود.
بنابراین مدل قابل استفاده در سمت کلاینت هم از این سرویس سمت سرور دریافت می‌شود و جالب اینجا است که تمام مباحث مطلع سازی تغییرات خواص، اعتبار سنجی، نکات ریز binding و غیره در این مدل‌های WCF RIA Services به صورت خودکار گنجانده شده و بار کدنویسی شما بسیار کمتر می‌شود.
برای MVVM ، کنترل domain data source را با کد نویسی تولید می‌کنم تا بتونم در View Model استفاده کنم و از حالت متداول کشیدن و رها کردن این کنترل روی فرم که با اصول MVVM سازگار نیست به این صورت رها خواهم شد.
نظرات مطالب
شروع به کار با EF Core 1.0 - قسمت 1 - برپایی تنظیمات اولیه
این احتمال وجود دارد در صورتی که پروژه را از طریق cli و vscode اجرا میکنید محیط اجرایی بر روی حالت Production قرار گرفته باشد و باعث شود صفحه پیام خطا به شما نشان داده نشود. بعد از اجرای dotnet run در خطوط اولیه زیر در جلوی عبارت Hosting Environment این حالت قابل نمایش است:
> dotnet run
Project TestApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.

Hosting environment: Production  
Content root path: C:\Projects\TestApp  
Now listening on: http://localhost:5000  
Application started. Press Ctrl+C to shut down.
برای تغییر این حالت به حالت توسعه کدهای زیر را در CLI وارد نمایید:
>set ASPNETCORE_ENVIRONMENT "Development"

SUCCESS: Specified value was saved.
بعد از تغییر موفقیت آمیز مشکل همچنان ادامه دارد و دلیل آن اینست که این مقدار قبلا توسط Console خوانده شده است و مجددا باید کنسول جدید را اجرا نمایید تا مشکل حل شود.
مطالب
قابلیت چند زبانه و Localization در AngularJs- بخش دوم: بررسی اجمالی قابلیت های ماژول angular-translate
در بخش قبلی به معرفی ماژول angular-tanslate پرداختیم. در این بخش قصد داریم تا به بررسی مفهومی قابلیت‌های موجود در این ماژول بپردازیم.
شکل زیر یک شمای کلی را از قابلیت‌های angular-translate، نمایش می‌دهد. همانطور که ملاحظه می‌کنید در مواردی نظیر ذخیره سازی زبان‌ها، بارگذاری ریسورس‌های زبان‌ها و گرامرهای استفاده در DOM راهکارهای گوناگونی دارد.

angular-translate دایرکتیو و فیلتر هایی را به صورت کامپوننت عرضه کرده است که شما می‌توانید به وسیله‌ی آنها پروژه خود را به زبان‌های گوناگون localize کنید. آنچه که در تصویر فوق مشاهده می‌کنید در حقیقت ساختار ماژول angular-translate را نمایش می‌دهد. به این صورت که در اولین لایه دایرکتیو translate قرار گرفته است.

سطح بعدی شاید کمی جذاب‌تر به نظر برسد. هر دو بخش دایرکتیو و فیلتر از سرویس تزریق شده translate$ استفاده می‌کنند. این بدین معنی است که در هنگام تغییر یک زبان به زبان دیگر به وسیله دایرکتیوهایی که در view نوشته شده است، در حقیقت شما این دایرکتیو‌ها را به سطح فیلتر انتقال داده‌اید و پس از آن، فیلتر آن را به لایه سرویس برده و سرویس کار اصلی را انجام می‌دهد. 

در سطح بعدی لایه Interpolator قرار گرفته است که وظیفه تغییر DOM‌ها را بر عهده دارد. این فرآیند متغیرهایی را که در ریسورس قرار داده‌ایم، درایه به درایه در view و در مکان‌های هم نام قرار می‌دهد. این فرآیند به وسیله راهکار‌های گوناگونی از قبیل Message Format و یا Angular Core Interpolation Service امکان پذیر است.

جعبه خاکستری رنگ بخش missing translation handler را نشان می‌دهد. این handlerها زمانی فراخوانی می‌گردند که translator به دنبال یک key می‌گردد که تعریف نشده باشد. angular-translate خود شامل یک logging service می‌باشد که به صورت extension باید آن را به پروژه خود اضافه نمایید که در بخش‌های بعدی در مورد آن مفصل‌تر بحث می‌کنیم.

بخش asynchronous loader شما را قادر می‌سازد که داده‌های زبان‌های متفاوت را به صورت غیر هم زمان بارگذاری نمایید. angular-translate از ماژول‌های asynchronous loader پشتیبانی می‌کند. روش معرفی شده در سایت مرجع در مورد بارگذاری غیر همزمان urlLoader و staticFilesLoader هستند که در بخش‌های بعدی به آن خواهیم پرداخت.

angular-translate برای ذخیره سازی داده‌های بازگذاری شده و نگه داشتن زبان سایت در صورت reload شدن صفحه راهکارهای متفاوتی را ارائه نموده است. این قابلیت در ابتدا چک می‌کند که ریسورس‌های زبان درون یک local storage قرار گرفته‌اند یا خیر. این عملیات طی یک فرآیند جستجوی key-value صورت می‌گیرد و در نهایت فایل‌های ریسورس زبان مورد نظر که درون کوکی یا localStorage ذخیره شده‌اند بارگذاری می‌شوند. angular-translate به صورت توکار دارای دو راهکار localStorage و cookieStorage برای ذخیره سازی ریسورس‌ها می‌باشد.

در بخش بعدی در مورد نحوه‌ی ذخیره سازی داده‌ها به دو روش cookieStorage و localStorage بیشتر صحبت خواهیم کرد.