‫۸ سال و ۳ ماه قبل، چهارشنبه ۹ تیر ۱۳۹۵، ساعت ۱۶:۵۷
به روز رسانی
در نگارش 5 این کتابخانه، قسمت «تهیه نگاشت‌های AutoMapper» بجای استفاده از متد Configure، از خود سازنده‌ی کلاس جهت معرفی نگاشت‌ها استفاده می‌کند. بنابراین امضای متدهای Configure را حذف و با سازنده‌ی کلاس جایگزین کنید.
‫۸ سال و ۳ ماه قبل، شنبه ۵ تیر ۱۳۹۵، ساعت ۱۷:۳۹
چند نکته‌ی تکمیلی
- استفاده از Func هم سبب Lazy loading می‌شود و نیازی به تنظیمات اضافه‌تری در سمت structure map ندارد.
+ StructureMap‌های جدید بدون مشکل با سازنده‌های Lazy کار می‌کنند و نیازی به تنظیمات اضافه‌تری ندارند. یعنی نیازی نیست قسمت <<For<Lazy<IAccounting را اضافه کنید. همینقدر که به صورت معمولی بنویسید <For<IAccounting کافی است.
- تفاوت Func و Lazy
- وهله سازی با تاخیر IIdentity  
‫۸ سال و ۳ ماه قبل، شنبه ۵ تیر ۱۳۹۵، ساعت ۱۷:۳۲
نکته‌ای در مورد استفاده از Func جهت تزریق وابستگی‌ها
فرض کنید کلاسی در برنامه به نام AppOAuthProvider نیاز است طول عمر singleton داشته باشد؛ چون فقط یکبار در آغاز کار برنامه وهله سازی شده و بعد استفاده می‌شود.
public AppOAuthProvider(IUsersService usersService)
{
    _usersService = usersService;
}
در این حالت وابستگی تزریق شده‌ی در سازنده‌ی این کلاس هم فقط در همان بار اول وهله سازی این کلاس، نمونه سازی شده و دیگر نمونه سازی نخواهد شد. این مورد برای کار با بانک اطلاعاتی مساله ساز می‌شود؛ چون طول عمر این سرویس باید از نوع transient باشد (یا وهله سازی هر باره به ازای هربار فراخوانی آن). برای رفع این مشکل می‌توان از Func استفاده کرد:
public AppOAuthProvider(Func<IUsersService> usersService)
{
    _usersService = usersService;
}
در این حالت به ازای هربار نیاز به سرویس کاربران، این سرویس طبق معمول یکبار دیگر مجددا وهله سازی می‌شود (به علت استفاده از Func) و همچنین تنظیمات اضافه‌تری هم در سمت structure map نیاز ندارد.
‫۸ سال و ۳ ماه قبل، شنبه ۵ تیر ۱۳۹۵، ساعت ۱۷:۰۳
چندی پیش نیاز به اعمال ConfigureAwait false در تمام متدهای Async کتابخانه Common ای را داشتم. برای اعمال سریع این تغییر، Regex زیر را نوشتم تا با Search & Replace ویژال استودیو بتوانم این مورد را با یک Replace All ساده به همه متدها اعمال کنم.  
برای استفاده کافیست تنها از منوی Edit > Find and Replace > Replace in Files را انتخاب کرده ، در پنجره باز شده در بخش Find Options تیک Use Regular Expressions را زده
در بخش Find What عبارت زیر را نوشته 
await(.+);
در بخش Replace With عبارت زیر را نوشته و در نهایت دکمه Replace All را بفشارید . با این کار ConfigureAwait false به تمامی فراخوانی‌های همزمان اعمال خواهد شد
await $1.ConfigureAwait(false);

من در پروژه ای که دارم بخشی با mvc پیاده سازی شده و تزریق وابستگی‌ها به خوبی کار میکنه، اما در بخشی که با Web Api دارم انجام میدم تمام تنظیماتی که در این مقاله نوشته بودید رو رعایت کردم اما زمانی که اکشن web api رو فراخوانی می‌کنم اکشن رو پیدا نمیکنه.
<Error>
<Message>
No HTTP resource was found that matches the request URI 'http://localhost:18560/api/TestApi/ForTest'.
</Message>
<MessageDetail>
No action was found on the controller 'TestApi' that matches the request.
</MessageDetail>
</Error>