اشتراک‌ها
Json.NET 8.0 منتشر شد

To reduce allocations and memory usage when serializing Json.NET 8.0 adds a new IArrayPool interface. Json.NET is already very lean when it comes to allocations, working with raw characters on array buffers instead of allocated strings, but those buffers can easily grow large, and a new buffer is created each time JSON is read or written. IArrayPool allows array buffers to be reused, similar to connection pooling with a database, or thread pooling in .NET. 

Json.NET 8.0 منتشر شد
مطالب
مشکل نصب VS2012 بر روی ویندوز 7 تازه

در حین نصب ویژوال استودیو 2012 بر روی ویندوز 7 تازه که بصورت virtual هاست شده بوده خطایی مبنی بر عدم وجود ریشه گواهی Certificate ‌ها در سیستم اتفاق افتاد که مانع از نصب بعضی از پکیج‌های نصاب گردید.

1. http://stackoverflow.com/questions/16673292/microsoft-web-deploy-3-0-a-certificate-chain-could-not-be-built-to-a-trusted-r
2. http://blogs.msdn.com/b/heaths/archive/2012/08/17/a-certificate-chain-could-not-be-built-to-a-trusted-root-authority.aspx
3. http://social.msdn.microsoft.com/Forums/vstudio/en-US/aeb3a43d-e5d7-41ab-b875-6a0d3b438abf/web-deploy-3-setup-problem
4. http://msdnrss.thecoderblogs.com/2012/08/a-certificate-chain-could-not-be-built-to-a-trusted-root-authority/
5. http://forums.asp.net/p/1897741/5361492.aspx?Microsoft+Web+Deploy+3+0+A+certificate+chain+could+not+be+built+to+a+trusted+root+authority+

مشکل نیز با توجه به توضیح مشخص بود. راه حل‌ها نیز ختم به نصب یک آپدیت KB2746268   برای ثبت گواهی‌ها می‌شد که برای نصب این آپدیت میبایست ویندوز باصطلاح Genuine باشد و بعد از نصب نیز باید نصاب ویژوال استودیو را دوباره راه انداخت و گزینه‌های نصب نشده را دوباره انتخاب کرد. ولی با توجه به تجربه شخصی از محصولات مایکروسافت در حین نصب ویژوال استودیو ارتباط با اینترنت را برای ویندوز مجازی میسر کردم و خوشبختانه نتیجه مورد نظر حاصل شد و پس از طی مراحل Add\Remove مربوط به قابلیتهای نصب نشده ویژوال استودیو تمامی پکیج‌ها بصورت صحیح و بدون مشکل نصب شدند.

پاسخ به بازخورد‌های پروژه‌ها
استفاده از Fluent Query در دیتا سورس PDFReporter
- زمانی استفاده از
column.PropertyName<CheckOut>
معنا دارد که خروجی کوئری شما strongly typed باشد. مثلا یک view model یا کلاس ساده تعریف کردید و خروجی ToList به این کلاس نهایی نگاشت شده.
- خروجی کوئری شما از نوع CheckOut نیست. بنابراین ذکر آن حاصلی ندارد. چون در این حالت فرض می‌شود که listOfRows حاصل کوئری شما، لیستی است جنریک از نوع CheckOut (که نیست).
- در حالتیکه با Anonymous objects کار می‌کنید و خروجی کوئری نهایی انطباقی با اشیاء و مدل‌های شما ندارد (چند خاصیت اضافه‌تر دارد یا اصلا ندارد)، برای معرفی خواص از string استفاده کنید. مثلا:
 column.PropertyName("FName");
// یا چند سطحی
 column.PropertyName("Prop1.Prop2.Name");
اشتراک‌ها
مروری بر ویژگی Expression-Bodied Function Members

In the last post, I looked at auto-property enhancements, with several comments pointing out some nicer usages. I recently went through the HtmlTags codebase, C# 6-ifying “all the things”, and auto property and expression bodied function members were used pretty much everywhere. This is a large result of the codebase being quite tightly defined, with small objects and methods doing one thing well. 

مروری بر ویژگی Expression-Bodied Function Members
بازخوردهای پروژه‌ها
خطای واردکردن(Import) فایل کلید
Error2Cannot import the following key file: key.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_2B6952079A0469C6PdfRpt