DotNetZoom
2.95K subscribers
342 photos
18 videos
36 files
606 links
DotNetZoom
💎 Everything about .NET

ارتباط با مدیر و تبلیغات آگهی استخدام:
@mjebrahimi

لینک گروه ASPNET Core:
https://t.iss.one/+ufG25x7lVFgyYTNk
Download Telegram
#ExtensionMethods
10 متد الحاقی پرکاربرد و بسیار مفید برای توسعه ی برنامه های دات نت
همان طور که میدانید متدهای الحاقی (Extension Methods) این امکان را برای ما فراهم میکنند که به انواع داده و اشیاء دات نتی، بدون تغییر در ساختار آن ها، متدهای دلخواه خود را اضافه کنیم. برای این منظور متد و کلاس دربردارنده ی آن باید static باشند و نیز اولین پارامتر این متد، کلمه ی کلیدی this را همراه داشته باشد. در حالت کلی میتوانید متدهای الحاقی خود را در یک فایل جدا در پروژه مثلا ExtensionMethods.cs ذخیره نمایید که این کلاس باید public و static باشد. بعد از تعریف متدها، میتوانید متدهای الحاقی اضافه شده را همانند سایر instance method ها استفاده کنید. پست زیر 10 متد الحاقی پرکاربرد و مفید را برای توسعه دهندگان دات نت معرفی میکند:
https://www.danylkoweb.com/Blog/10-extremely-useful-net-extension-methods-8J
Forwarded from Mohammad Ebrahimi
#DatePicker #DateTimePicker #Calendar #Plugin
تقویم جاواسکریپتی فارسی با پشتیبانی از تاریخ شمسی
https://goo.gl/fxmiMl
https://goo.gl/xEMyQ3
Forwarded from Mohammad Ebrahimi
#DatePicker #DateTimePicker #Calendar #Plugin #jQueryUI
تقویم جاواسکریپتی فارسی با پشتیبانی از تاریخ شمسی
https://sundev.ir/dl/685445
Forwarded from Mohammad Ebrahimi
#DatePicker #Calendar #Plugin #Bootstrap
تقویم جاواسکریپتی فارسی با پشتیبانی از تاریخ شمسی
https://goo.gl/CIgldI
https://goo.gl/eEz8xA
Forwarded from Mohammad Ebrahimi
#DatePicker #Calendar #Plugin #Bootstrap
تقویم جاواسکریپتی فارسی با پشتیبانی از تاریخ شمسی
https://goo.gl/1xqKni
https://goo.gl/kq3XOe
Forwarded from Mohammad Ebrahimi
#DatePicker #PersianDatePicker #Calendar #Plugin
تقویم جاواسکریپتی فارسی باپشتیبانی از تاریخ شمسی
https://goo.gl/gQVULn
https://goo.gl/J9VsXv
Forwarded from Mohammad Ebrahimi
#DatePicker #PersianDatePicker #Calendar #Plugin
تقویم جاواسکریپتی فارسی باپشتیبانی از تاریخ شمسی
https://goo.gl/UA8QlD
https://goo.gl/tK3MPr
#StimulSoft #Report #AspMvc
آموزش گزارش گیری با استفاده از STIMULSOFT در ASP.NET MVC
https://goo.gl/c8EANC
#Bower #Front-End

مدیریت کتابخانه های کلاینتی با استفاده از Bower
امروزه در توسعه ی وب سایت و یا اپلیکیشن های تحت وب، استفاده از تعداد زیادی کتابخانه های فرانت اند مانند jQuery، Bootstrap، Angular و ... انکار ناشدنی است. استفاده کردن از هر یک از این کتابخانه ها، نیازمند رفتن به سایت مربوطه، پیدا کردن ورژن مورد نظر، دانلود و در نهایت انتقال آن به پوشه ی مربوطه در پروژه می باشد. علاوه بر آن، شما باید به صورت مکرر به وب سایت های مربوط به آن ها سر بزنید تا از نسخه ی جدید باخبر شوید و برای استفاده از ورژن جدید، دوباره همان مراحل دانلود و ... را تکرار نمایید. از همه ی این ها گذشته، تصور کنید نیاز به استفاده از کتابخانه ی Bootstarp که به کتابخانه ی jQuery وابسته است را دارید، در این حالت شما برای استفاده از Bootstarp باید به سایت jQuery هم بروید و آن را هم دانلود نمایید.

شاید برای یکبار رفتن مراحل فوق چندان برای شما پیچیده به نظر نرسد، اما اگر زیاد با این کتابخانه ها سروکار داشته باشید، ممکن است با خود فکر کنید خیلی خوب میشد اگر ابزاری وجود داشت که خودش تمامی این مراحل را انجام دهد. بله وجود دارد! Bower دقیقا همین کار را برای شما میکند. Bower در مدیریت پکیج های فرانت اند به کمک شما می آید و وظایفی چون دانلود، به روز رسانی و مدیریت وابستگی ها را بر عهده میگیرد، تا شما با خیال راحت به کار توسعه بپردازید. نصب و استفاده از bower نیز بسیار ساده است. اگر علاقه مند به آشنایی بیشتر با این ابزار مفید هستید، ادامه ی این مطلب را در پست زیر دنبال نمایید:

https://www.codementor.io/bower/tutorial/beginner-tutorial-getting-started-bower-package-manager
#Editor #HtmlEditor #Plugin
CodeMirror: Html/Javascript (and over 100 languages) Source Editor
https://codemirror.net/
#CheckList #AspNet #AspMvc #Performance
https://www.lyntonweb.com/hs-fs/hub/74005/file-2275583083-jpg/Checklist1.jpg

چک لیست تهیه یک برنامه AspNet MVC
https://goo.gl/yuy6SB
چک لیست برنامه های AspNet
https://goo.gl/Fj7Rwi
چک لیست Performance برنامه های AspNet
https://goo.gl/wjdXYp

@IranAspMvc
ما سه نوع آدرس دهی داریم
https://jennybc.github.io/2014-01-27-miami/img/lessons/swc-shell/absolute_relative_path.png

Absolute Path (آدرس دهی دقیق)
c:\new folder\wwwroot\images\aaa.jpg
این نوع ادرس دهی دقیقا میگه از کدام درایو شروع کن و فایل رو پیدا کن.
—------------------—
Virtual Path (آدرس دهی مجازی نسب به روت)
~/images/aaa.jpg
این نوع آدرس دهی میگه هرکجای سایت که هستی (حتی اگه 10تا پوشه جلوتر از روت هستی) باید بری به روت (ریشه) سایت و از اونجا مسیر رو پیدا کنی .
—------------------—
Relative Path (آدرس دهی نسبی)
images/aaa.jpg
این نوع آدرس دهی میگه هر کجای سایت که هستی باید از کنار خودت مسیر رو پیدا کنی (یعنی کنار خودت پوشه ای به نام images هست که فایل aaa.jpg توش هست) حالا اگر 10 تا پوشه نسبت به روت سایت جلوتر باشه در این روش بر نمیگرده از روت سایت مسیر رو پیدا کنه بلکه از کنار خودش پیدا میکنه.
در این روش برای اینکه بگین یه پوشه برگرد عقب از (..) استفاده میکنیم.
../images/aaa.jpg
یعنی یه پوشه برگرد عقب و از اونجا مسیر رو پیدا کن.
—------------------—
نکته: سمت سرور میتونیم از Virtual Path (~) استفاده کنیم ولی سمت کلاینت و مرورگر باید از Relative Path استفاده کنیم چون فقط این روش آدرس دهی رو میفهمه.
حالا دستور Url.Content کارش اینه که آدرس های Virtual Path که با (~) شروع میشوند رو از روت سایت پیدا میکنه و به Relative Path تبدیل میکنه.
موتور Razor از mvc4 اونقدر هوشمند شده که اگر شما آدرس یک فایل رو به صورت Virtual Path بنویسید. مثلا
<script src="~/Scripts/jquery-1.11.3.min.js"></script>
خودش با استفاده از دستور Url.Content اون رو به Relative Path تبدیل میکنه
پس دیگه فرقی نمیکنه که از Url.Content استفاده بکنین یا نه
اطلاعات بیشتر :
https://beletsky.net/2012/04/new-in-aspnet-mvc4-razor-changes.html

@IranAspMvc
#JSON , #JSON.NET , #ObjectToJson , #JsonToObject

https://goo.gl/0g6Mw2
تبدیل JSON به شی معادل آن در .NET (و برعکس : تبدیل یک شی دات نتی به مقدار JSON معادل آن)
شاید براتون پیش امده باشه که یک شی json رو دارید و میخواید مقدار معادلش رو توی دات نت به دست بیارید تا مثلا توی دیتابیس ذخیره کنین یا توی گرید مقادیرش رو نمایش بدین
برای اینکار ابتدا باید کلاس معادل اون JSON رو توی دات نت بسازید
سایت زیر همین کارو براتون میکنه. مقدار json رو بدید تا کلاس معادلش رو براتون بسازه
https://json2csharp.com/
برای تبدیل json به یک شی و بلعکس، ما سه روش معمول داریم
1- استفاده از کلاس DataContractJsonSerializer که توی dll و namespace زیر قرار داره و از کلاس های خود دات نت هست.
add dll System.Runtime.Serialization.dll
using System.Runtime.Serialization.Json
2- استفاده از کلاس JavaScriptSerializer که در dll و namespace زیر قرار داره و از کلاس های خود دات نت هست.
add dll System.Web.Extensions.dll
using System.Web.Script.Serialization
3- استفاده از کلاس JsonConvert که توی dll و namespace زیر قرار داره (این مورد از کلاس های خود دات نت نیست و برای استفاده از اون باید پکیچ JsonNet رو از ناگت دریافت کنین)
add dll Newtonsoft.Json.dll
using Newtonsoft.Json
بهترین و پیشنهاد شده ترین روش از لحاظ سرعت و قدرت پردازش همین روش هست 👍
https://www.newtonsoft.com/json
حالا کلاسی که در پست بعدی میفرستم، هر 3 این روش ها رو پیاده سازی کرده و بهتون کمک میکنه براحتی بتونین اشیائتون رو به json تبدیل کنین (وبلعکس)

@IranAspMvc
https://mva.microsoft.com/
سایت آموزشی تکنولوژی های ماکروسافت و موارد مرتبط با برنامه نویسی، زیر نظر خود ماکروسافت
سایت جالبیه پیشنهاد میکنم ببینید
@IranAspMvc
چرا استفاده از Session در MVC مناسب نیست.
https://goo.gl/vYIx8D
—---------------------------
اگر چندین درخواست با یک Session ID به موتور پردازشی ASP.NET وارد شوند و حداقل یکی از آن‌ها به صورت سشنی خواندنی+نوشتنی علامت گذاری شده باشد، اینگونه درخواست‌ها serialized می‌شود. به این معنا که این نوع درخواست‌ها در صف قرار داده شده و به ترتیب رسیدن، اجرا می‌شوند. این کار هم از این جهت لازم است که چندین درخواست یا به عبارتی چندین ترد همزمان، سبب انجام تغییرات ناخواسته‌ای در مقادیر سشن مورد استفاده نشوند.
و اگر چندین درخواست با یک Session ID به موتور پردازشی ASP.NET وارد شوند و تمام آن‌ها سشن «فقط خواندنی» باشند یا در آن‌ها سشن «غیرفعال» شده باشد، این درخواست‌ها به صورت موازی پردازش خواهند شد.
—---------------------------
یکی از بهترین جایگزین های session کوکی هست به شرط اونکه 2 مورد رو رعایت کنیم. (به دلایل امنیتی)
1-مقدار کوکی همیشه رمز نگاری شده باشه.
2-مقدار خاصیت HttpOnly برابر True باشه. با این وجود دیگه کوکی از طریق کلاینت قابل مشاهده یا تغییر نمیباشد. و فقط سمت سرور بهش دسترسی داریم. (یعنی با js دیگه به اون کوکی دسترسی نداریم)
—---------------------------
میتونین از دیتابیس های دیگری به جای SQLServer واسه ذخیره سشن ها استفاده کنین. مثلا دیتابیس های NoSQL. که واسه اینکار باید از Provier مخصوص اون دیتابیس استفاده کنین
که در لینک زیر لیست کاملی از اون ها رو مشاهده میکنید
https://www.nuget.org/packages?q=sessionstate

@IranAspMvc
#Reflector #Decompiler
واکشی و Decompile کردن های dll های دات نت
https://ilspy.net/
کد های دات نت بعد از کامپایل شدن به کد واسطی به نام
IL (Intermediate Language)
تبدیل میشود و در dll ها ذخیره میشوند.
برنامه سورس باز ILSpy میتواند dll های دات نت را Decompile کند و کد های آن را به هر دو زبان C# , VbNet تبدیل کند.
https://ilspy.net/images/screenshots/build199_decompilingtocsharp.png

@IranAspMvc