اشتراک‌ها
NET Demon.، ابزاری جدید از redgate
این افزونه جدید از شرکت redgate برای ویژوال استودیو با جایگزین کردن سیستم Build آن، به صورت مداوم و به صورت ضمنی کدها را کامپایل کرده و در نتیجه زمان Build شدن پروژه‌های بزرگ را به مینیمم می‌رساند.
NET Demon.، ابزاری جدید از redgate
مطالب
استخراج اطلاعات از صفحات وب با کمک HtmlAgilityPack
چند مدت پیش موقعی که تب المپیک بود و جدول http://www.london2012.com/medals/medal-count/  رو زیاد نگاه می‌کردم به نظرم رسید که کاشکی به اطلاعاتی مثل اینکه چند نفر از مدال آور‌ها خانم و یا آقا هستند و یا اینکه در روزهای مختلف تعداد مدال‌ها چطور توزیع می‌شند و بشه با یک jQuery UI  Slider روزهای مختلف رو انتخاب کرد و جدول رو دید.
برای این کار اولین چیزی که لازم بود دریافت و ذخیره اطلاعات بود که من برای این کار از Entity framework  4.1 Database-first و کتابخانه  htmlagilitypack - HAP استفاده کردم . طراحی دیتابیس نهایی به این صورت شد

خوب در تلاش اول و مبتدیانه و بدون استفاده از این کتابخانه مفید چون اکثر صفحات وب XHTML نیستند و بالاخره چند تگ درست بسته نشده دارند و شما اگر بخواهید در آبجکت  XmlDocument این html‌های به ظاهر سالم رو لود کنید فورا با استثنای زیر مواجه می‌شوید
XmlException Was unhandeled  
The 'img' start tag on line 1 position 1604 does not match the end tag of 'a'. Line 1, position 1766
راه حل ساده اینه که این کتابخونه رو با کمک NuGet نصب کنید
PM> Install-Package HtmlAgilityPack 
و از اینجا به بعد با کدی مثل این میتونید از کلاس HtmlDocument و مشابه XmlDocument ولی بدون ارور استفاده کنید.
 مثلا با  کد زیر میشه تاریخ تولد یک ورزشکار رو بدست آورد .توابع دیگه ای که خیلی جاها میتونه بدرد خورد GetAttributeValue و ChildNodes هست که یک نمونه نحوه استفادشو در ادامه میبینید
HtmlDocument xhtml = Crawler.GetXHtmlFromUri("http://www.london2012.com/athlete/hadadi-ehsan-1077408/");
HtmlNode tempNode = xhtml.DocumentNode.SelectSingleNode("//table[@class='athleteBio']/tbody/tr[4]");
string temp = tempNode.FirstChild.FirstChild.InnerText.Replace(" ", "").Trim(); athlete.Birthday = DateTime.Parse(temp.Substring(0, 10), new CultureInfo("en-GB"));
tempNode = xhtml.DocumentNode.SelectSingleNode("//div[@class='athletePhotoMedals']/div/div/img"); athlete.LargePhotoUri = tempNode.GetAttributeValue("src", ""); 
البته تابع GetXHtmlFromUri رو جدا باید با کمک HttpWebRequest بنویسید و توی خوده HAP متاسفانه چنین تابعی توکار نشده
نکته اصلی هم پیدا کردن محل دقیق اطلاعاته که با ابزاری مثل Firebug خیلی راحت‌تر میشه این کارو انجام داد. کافیه روی تاریخ تولد راست کلیک و  inspect element by Firebug رو بزنید و حالا اگر تویه  dom روی هر المنت html نگه دارید بهتون XPath کامل رو میده که میتونید تویه تابع DocumentNode.SelectSingleNode  ازش استفاده کنید.



برای درک بهتر XPath  هم این 2 تا صفحه  xpath_syntax و xpath_examples خیلی میتونه کمکتون بکنه.
مطالب
VS Code برای توسعه دهندگان ASP.NET Core - قسمت اول - نصب و راه اندازی
VS Code یک محیط توسعه‌ی یکپارچه است که توسط مایکروسافت توسعه پیدا می‌کند و دارای مزایای ذیل است:
 - سبک وزن است
 - بسیار سریع است
 - به صورت سورس باز توسعه پیدا می‌کند
 - رایگان است
 - چندسکویی است
 - انواع و اقسام زبان‌های برنامه نویسی را پشتیبانی می‌کند
 - پشتیبانی بسیار مناسبی را از طرف جامعه‌ی برنامه نویسان به همراه دارد
 - به همراه تعداد زیادی افزونه است

هدف اصلی از توسعه‌ی آن نیز ارائه‌ی تجربه‌ی کاربری یکسانی در سکوهای کاری مختلف و زبان‌های متفاوت برنامه نویسی است. در اینجا مهم نیست که از ویندوز، مک یا لینوکس استفاده می‌کنید. نحوه‌ی کار کردن با آن در این سکوهای کاری تفاوتی نداشته و یکسان است. همچنین برای آن تفاوتی نمی‌کند که با PHP کار می‌کنید یا ASP.NET. تمام گروه‌های مختلف برنامه نویسان دسترسی به یک IDE بسیار سریع و سبک وزن را خواهند داشت.
برخلاف نگارش کامل ویژوال استودیو که این روزها حجم دریافت آن به بالای 20 گیگابایت رسیده‌است، VS Code با هدف سبک وزن بودن و سادگی دریافت و نصب، طراحی و توسعه پیدا می‌کند. این مورد، مزیت دریافت به روز رسانی‌های منظم را بدون نگرانی از دریافت حجم‌های بالا، برای بسیاری از علاقمندان مسیر می‌کند.
همچنین برای کار با نگارش‌های جدیدتر ASP.NET Core، دیگر نیازی به دریافت آخرین به روز رسانی‌های چندگیگابایتی ویژوال استودیوی کامل نبوده و می‌توان کاملا مستقل از آن، از آخرین نگارش NET Core. و ASP.NET Core به سادگی در VSCode استفاده کرد.


نصب VS Code بر روی ویندوز

آخرین نگارش این محصول را از آدرس https://code.visualstudio.com می‌توانید دریافت کنید. نصب آن نیز بسیار ساده‌است؛ فقط گزینه‌ی Add to PATH را نیز در حین نصب حتما انتخاب نمائید (هرچند به صورت پیش فرض نیز انتخاب شده‌است). به این ترتیب امکان استفاده‌ی از آن در کنسول‌های متفاوتی مسیر خواهد شد.
در ادامه فرض کنید که مسیر D:\vs-code-examples\sample01 حاوی اولین برنامه‌ی ما خواهد بود. برای اینکه در اینجا بتوانیم، تجربه‌ی کاربری یکسانی را مشاهده کنیم، از طریق خط فرمان به این پوشه وارد شده و دستور ذیل را صادر می‌کنیم:
 D:\vs-code-examples\sample01>code .
به این ترتیب کل پوشه‌ی sample01 در VS Code باز خواهد شد.


نصب VS Code بر روی Mac

نصب VS Code بر روی مک یا لینوکس نیز به همین ترتیب است و زمانیکه به آدرس فوق مراجعه می‌کنید، به صورت خودکار نوع سیستم عامل را تشخیص داده و بسته‌ی متناسبی را به شما پیشنهاد می‌کند. پس از دریافت بسته‌ی آن برای مک، یک application را دریافت خواهید کرد که آن‌را می‌توان به مجموعه‌ی Applications سیستم اضافه کرد. تنها تفاوت تجربه‌ی نصب آن با ویندوز، انتخاب گزینه‌ی Add to PATH آن است و به صورت پیش فرض نمی‌توان آن‌را از طریق ترمینال در هر مکانی اجرا کرد. برای این منظور، پس از اجرای اولیه‌ی VS Code، دکمه‌های Ctrl/Command+Shift+P را در VS Code فشرده و سپس path را جستجو کنید (در دستور یاد شده، Ctrl برای ویندوز و لینوکس است و Command برای Mac):


در اینجا گزینه‌ی install 'code' command path را انتخاب کنید تا بتوان VS Code را از طریق ترمینال نیز به سادگی اجرا کرد. به این ترتیب امکان اجرای دستور . code که بر روی ویندوز نیز ذکر شد، در اینجا نیز میسر خواهد بود.


نصب VS Code بر روی لینوکس

در اینجا نیز با مراجعه‌ی به آدرس https://code.visualstudio.com، بسته‌ی متناسب با لینوکس، جهت دریافت پیشنهاد خواهد شد؛ برای مثال بسته‌های deb. برای توزیع‌هایی مانند اوبونتو و یا rpm. برای ردهت. به علاوه اگر بر روی علامت ^ کنار بسته‌های دانلود کلیک کنید، یک بسته‌ی tar.gz. نیز قابل دریافت خواهد بود. تجربه‌ی نصب آن نیز همانند نمونه‌ی ویندوز است و Add to PATH آن به صورت خودکار انجام خواهد شد.


بررسی ابتدایی محیط VS Code

VS Code بر اساس فایل‌های قرار گرفته‌ی در یک پوشه و زیر پوشه‌های آن کار می‌کند. به همین جهت پس از صدور دستور . code، آن پوشه را در IDE خود نمایش خواهد داد. در اینجا برخلاف نگارش کامل ویژوال استودیو، روش کار، مبتنی بر یک فایل پروژه نیست و اگر خارج از VS Code نیز فایلی را به پوشه‌ی باز شده اضافه کنید، بلافاصله تشخیص داده شده و در اینجا لیست می‌شود. هرچند یک چنین تجربه‌ی کاربری با پروژه‌های ASP.NET Core نیز در نگارش‌های جدیدتر ویژوال استودیوی کامل، سعی شده‌است شبیه سازی شود؛ برخلاف سایر پروژه‌های ویژوال استودیو که اگر فایلی در فایل پروژه‌ی آن مدخلی نداشته باشد، به صورت پیش فرض نمایش داده نشده و درنظر گرفته نمی‌شود.

در ادامه برای نمونه از طریق منوی File->New File، یک فایل جدید را اضافه می‌کنیم. هرچند می‌توان اشاره‌گر ماوس را بر روی نام پوشه نیز برده و از دکمه‌های نوار ابزار آن نیز برای ایجاد یک فایل و یا پوشه‌ی جدید نیز استفاده کرد:


در اینجا فرمت ابتدایی فایل جدید را plain text تشخیص می‌دهد:


برای تغییر این حالت یا می‌توان فایل را ذخیره کرد و پسوند مناسبی را برای آن انتخاب نمود و یا در همان status bar پایین صفحه، بر روی plain text کلیک کنید تا منوی انتخاب زبان ظاهر شود:


به این ترتیب پیش از ذخیره‌ی فایل با پسوندی مناسب نیز می‌توان زبان مدنظر را تنظیم کرد. پس از آن، intellisense و syntax highlighting متناسب با آن زبان در دسترس خواهند بود.


بررسی تنظیمات VS Code

از طریق منوی File->Preferences->Settings می‌توان به تنظیمات VS Code دسترسی یافت.


در اینجا در سمت چپ، لیست تنظیمات مهیا و پیش فرض این محیط قرار دارند و در سمت راست می‌توان این پیش فرض‌ها را (پس از بررسی و جستجوی آن‌ها در پنل سمت چپ) بازنویسی و سفارشی سازی کرد.
تنظیمات انجام شده‌ی در اینجا را می‌توان به پوشه‌ی جاری نیز محدود کرد. برای این منظور بر روی لینک work space settings در کنار لینک user settings در تصویر فوق کلیک کنید. در این حالت یک فایل json را در پوشه‌ی vscode. نمای جاری VSCode، ایجاد خواهد کرد (sample01\.vscode\settings.json) که می‌تواند در برگیرنده‌ی تنظیمات سفارشی محدود و مختص به این پروژه و یا نما باشد.

یک نکته: تمام گزینه‌های منوی VS Code را و حتی مواردی را که در منوها لیست نشده‌اند، می‌توانید در Command Pallet آن با فشردن دکمه‌های Ctrl/Command+Shift+P نیز مشاهده کنید و به علاوه جستجوی آن نیز بسیار سریع‌تر است از دسترسی و کار مستقیم با منوها.


همچنین در اینجا اگر قصد یافتن سریع فایلی را داشته باشید، می‌توانید دکمه‌های Ctrl/Command+P را فشرده و سپس نام فایل را جستجو کرد:


این دو دستور، جزو دستورات پایه‌ای این IDE هستند و مدام از آن‌ها استفاده می‌شود.


نصب افزونه‌ی #C

اولین افزونه‌ای را که جهت کار با ASP.NET Core نیاز خواهیم داشت، افزونه‌ی #C است. برای این منظور در نوار ابزار عمودی سمت چپ صفحه، گزینه‌ی Extensions را انتخاب کنید:


در اینجا افزونه‌ی #C مایکروسافت را جستجو کرده و نصب کنید. نصب آن نیز بسیار ساده است. با حرکت اشاره‌گر ماوس بر روی آن، دکمه‌ی install ظاهر می‌شود یا حتی اگر آن‌را در لیست انتخاب کنیم، در سمت راست صفحه علاوه بر مشاهده‌ی جزئیات آن، دکمه‌های نصب و عزل نیز ظاهر خواهند شد.
تجربه‌ی کاربری محیط نصب افزونه‌های آن نیز نسبت به نگارش کامل ویژوال استودیو، بسیار بهتر است. برای نمونه اگر به تصویر فوق دقت کنید، در همینجا می‌توان جزئیات کامل افزونه، نویسنده یا نویسندگان آن و یا لیست تغییرات و وابستگی‌های آن‌را نیز بدون خروج از VSCode مشاهده و بررسی کرد. همچنین در دفعات بعدی اجرای VSCode، کار بررسی و نصب به روز رسانی‌های این افزونه‌ها نیز خودکار بوده و نیازی به بررسی دستی آن‌ها نیست.

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


در قسمت بعد، اولین پروژه‌ی ASP.NET Core خود را در VS Code ایجاد خواهیم کرد.
مطالب
لیستی از بانک‌های اطلاعاتی قابل استفاده در دات نت

بد نیست لیست تعدادی از بانک‌های اطلاعاتی مهم قابل استفاده در دات نت به همراه درایورهای ADO.NET آن‌ها را با هم مرور نمائیم.

بانک‌های اطلاعاتی قابل استفاده در دات نت فریم ورک

ردیف
بانک اطلاعاتی سایت مرجع درایور ADO.NET امکان استفاده از LINQ مجوز استفاده
توضیحات
1 SQL Server 2000/2005/2008/2008 R2 + توکار (به صورت پیش فرض در دات نت فریم ورک موجود است) بلی . به کمک LINQ to SQL ،
Entity Framework ، NHibernate و بسیاری از ORM های دیگر
رایگان - تجاری نسخه‌‌های Express آن رایگان است.
2 Microsoft SQL Azure + بلی :
+
بلی. به کمک LINQ to SQL و
Entity Framework
تجاری
3 SQL Server Compact + بلی :

+
بلی. به کمک LINQ to SQL و
Entity Framework
رایگان
4 Advantage Database Server
+
قابل دریافت از سایت اصلی:

+
بلی. به کمک Entity framework و
Telerik OpenAccess
ORM
تجاری
5 SQL Anywhere
+
قابل دریافت از سایت اصلی:
+
بلی. به کمک Entity framework
و Telerik
OpenAccess ORM
رایگان - تجاری
Web Edition
آن رایگان است.
6 MySQL + قابل دریافت از سایت اصلی :
+
بلی . به کمک
NHibernate
،
LightSpeed
، DbLinq و تعدادی دیگر از
ORM's
رایگان - تجاری
7 Oracle + پشتیبانی توکار آن به زودی
حذف
خواهد شد
اما از سایت اصلی قابل دریافت است :
+
بلی . به کمک
NHibernate
،
LightSpeed
، DbLinq و تعدادی دیگر از
ORM's
رایگان - تجاری نسخه‌ی Express آن رایگان است.
8 Access + توکار بلی. به کمک ALinq ،

NHibernate
و یا
LINQ to
DataSets
تجاری اگر از دات نت فریم ورک سه و نیم، سرویس پک یک استفاده کنید، امکان
استفاده از LINQ to SQL جهت کار با بانک‌های
اطلاعاتی اکسس نیز مهیا است:

+
9 SQLite + مهیا به صورت سورس باز :
+
بلی. درایور ADO.NET آن پشتیبانی از Entity
Framework را نیز اضافه می‌کند. همچنین NHibernate
،
ALinq
و سایر ORM's را باید به این لیست اضافه کرد.
رایگان
10 Firebird + قابل دریافت از سایت اصلی: ‌+ بلی. توسط ALinq ،
NHibernate
و موارد دیگر.
رایگان
11 PostgreSQL + قابل دریافت از سایت اصلی:
+
بلی. توسط NHibernate ، DBLinq و موارد دیگر رایگان
12 DB2 UDB + قابل دریافت از سایت اصلی:
+
بلی. توسط NHibernate تجاری
13 ScimoreDB + قابل دریافت از سایت اصلی:
+
محدود. توسط
LINQ to DataSets
رایگان
14 MongoDB + معرفی شده در سایت اصلی :
+
بلی. درایور ADO.NET معرفی شده به همراه
پروایدر LINQ نیز می‌باشد.
رایگان
15 CouchDB + معرفی شده در سایت اصلی :
+
محدود رایگان
16 VistaDB + اساسا برای دات نت نوشته شده است. بلی. به کمک
Entity framework
تجاری


اشتراک‌ها
افزونه Settings Sync برای ذخیره و بازیابی تنظیمات vs code

افزونه Settings Sync برای ذخیره و بازیابی تنظیمات سفارشی کاربر در ویژوال استدیو کد (vs code)
این افزونه اطلاعات تنظیمات سفارشی شما در ویژوال استدیو کد که در برخی موارد می‌تواند اطلاعات امنیتی باشد مانند اطلاعات ورود به sql server برای افزونه mssql را در یک فایل secret gist ذخیره می‌کند و تنها کافیست در گیت هاب حساب کاربری داشته باشید و یک توکن معتبر برای ساخت این فایل gist را بسازید و در اختیار این افزونه قرار دهید.

افزونه Settings Sync برای ذخیره و بازیابی تنظیمات vs code
اشتراک‌ها
افزونه رایگان فونت ایران برای زیباسازی وب سایت‌های فارسی

ابتدا افزونه را نصب کنید سپس روی آیکون افزونه کلیک کرده و فونت مورد نظر را انتخاب نمایید تا فونت روی سایت اعمال شود.

در حال حاضر پرکاربردترین وب سایت‌ها، شبکه‌های اجتماعی و سرویس‌های تحت وب می‌توانند از این افزونه بهره ببرند.

وب سایت: ویکی‌پدیا و گوگل

شبکه‌های اجتماعی: توییتر، فیسبوک، اینستاگرام، لینکدین، گوگل پلاس

سرویس‌های تحت وب: واتس آپ، تلگرام و ترلو 

دانلود برای موزیلا

افزونه رایگان فونت ایران برای زیباسازی وب سایت‌های فارسی
نظرات مطالب
مروری بر تاریخچه محدودیت حافظه مصرفی برنامه‌های ASP.NET در IIS
با سلام؛
مشکلی که من دارم نمیدانم مربوط میشود به مدیریت حافظه یا موضوعی دیگر
من یک وب سایت کوچک دارم که با تکنولوژی‌های زیر ایجاد شده:
ASP.Net MVC 4,  Entity Framework 4 , SQL CE
آن را بر روی یک ویندوز سرور 2012 نسخه دیتاسنتر نصب کردم
سرور : 2GB Ram و CPU Dual Core 1.8 
غیر از این سایت هیچ سایت دیگری بر روی این سرور میزبانی نشده است.
صفحات با سرعت نسبتاً خوبی باز میشوند، اما به هر شکلی iis را تنظیم میکنم، اگر پس از 2 یا 3 دقیقه درخواستی به سمت سرور ارسال نگردد، برنامه از حافظه خارج میشود. اگر درخواستی برای مشاهده صفحه به سرور ارسال شود 15 تا 20 ثانیه طول میکشد تا دوباره کامپایل انجام شود و صفحه درخواستی نمایش یابد.
تصویر تنظیمات Application Pool

پ.ن: لطفاً اگر امکان دارد بهترین تنظیمات را برای سروری که فقط به یک سایت میخواهد سرویس دهد عنوان کنید.
نظرات مطالب
شروع به کار با AngularJS 2.0 و TypeScript - قسمت اول - نصب پیشنیازها
- این خطا نیست، warning هست و صرفا به این معنا است که وابستگی Mac یاد شده در ویندوز وجود ندارد و مهم نیست (skip شده، صرفنظر شده).
- در کل یکبار node را به طور کامل از سیستم حذف کنید. آخرین نگارش این‌ها را دریافت و مجددا نصب کنید. همچنین نکته‌ی جایگزین کردن npm پیش فرض ویژوال استودیو را که در متن عنوان شد، فراموش نکنید.