نظرات اشتراک‌ها
راه حل مسدود شدن اپلیکیشن توسط سپر ایمنی گوگل
لازم به ذکر هست زمانی که لینک اپلیکیشن را در فرم گوگل وارد میکنید حدالامکان سعی کنید از سرورهای ایرانی نباشه، ما روی سرور ایران و لینک مستقیم تست کردیم جواب نداد. همچنین از طریق سایت mega که در مقاله هم ذکر شده بود باز هم قادر به ارسال نبودیم ولی از طریق سایت file.io  لینک دانلود با موفقیت ارسال شد. بعد از ارسال فرم نتیجه پذیرش فرم پر شده همان لحظه به ایمیلتان ارسال میشود.
نظرات مطالب
بهینه سازی برنامه‌های وب ASP.NET برای موتورهای جستجو (SEO)
پیرو تکمیل صحبت آقای نصیری،
احتمالا جستجو در وب سایت مورد نظر در دو صفحه مجزا طراحی شده :
1.جستجوی‌های طبقه بندی شده بر اساس اطلاعات استخراجی شان از ابزار‌ها ارزیابی وب سایت‌ها مانند Google analytics (راهنما در کامنت قبل)
2. جستجوی لحظه ای در محتوای سایت 
این نکته در متا تگ‌های ایجاد شده نیز قابل مشاهده است :

تعداد نتایج یافت شده متفاوت این دو صفحه (با یک عنوان جستجو) نشان از تایید مطلب دارد.

بازخوردهای پروژه‌ها
مشکل در هدایت کاربر به صفحه لاگین
در سیستمForms Authentication  در پروژه فروشگاه شهر طلایی من   ، مثل سایت جاری ، اگر مدیر کاربر را در حالی که در سایت است غیر فعال کند در همان لحظه کاربر را LogOff میکردم حتی اگر درخواست اجکسی میبود. ولی در Asp.net Identity در اولین درخواست این اتفاق نمیفتد و بلکه در دومین درخواست به صفحه لاگین هدایت میشود. دلیل آن را نفهمیدم !
اگر دوستان دلیل این مشکل را میدانند راهنمایی کنند .
با تشکر
نظرات مطالب
MVVM و فراخوانی متدهای اشیاء View از طریق ViewModel
با سلام خدمت استاد نصیری
من مطالب شما رو در خصوص MVVM دنبال کردم و بسیار عالی بیان کردید که واقعاً از شما سپاسگذارم.
اما من بیشتر با  ASP.Net برنامه می نویسم. سرچ کردم دیدم تو این آدرس http://aspnetmvvm.codeplex.com دیگه از سال 2009 به بعد ASP.net MVVM توسعه داده نشده. آیا دلیل خاصی داره؟
کلا برای ASP.net هم MVVM رو پیشنهاد میکنید یا خیر دنبال چیز دیگری باشم؟
ممنون از لطف شما.
نظرات اشتراک‌ها
کتاب رایگان ساخت Mobile Websites با MVC4
من تا حد امکان از طرح مسایل وارز در این سایت پرهیز می‌کنم و از دیگران هم درخواست کردم اینکار را انجام ندهند (در طرح مقالات یا لینک‌های سایت). لینک‌های کتاب‌ها یا مجلاتی را هم که در این سایت مشاهده می‌کنید اکثرا رایگان هستند مانند همین مطلب جاری.
علت چیست؟ پرداختن بیش از حد به وارز شما را از تولید محتوا دور می‌کند و صرفا تبدیل خواهید شد به یک مصرف کننده ساده نهایی.
هنر این است که مثلا از محصولات تلریک استفاده می‌کنید؟ آیا می‌تونید در مورد نحوه طراحی API اون نصف صفحه مطلب بنویسید؟ یا اینکه نه، فقط یک مصرف کننده جزء هستید که به دنبال کرک و برنامه مفت.
آیا می‌تونید از 10 تا کتاب سی شارپی که در مورد پردازش موازی دانلود کردید 5 تا مقاله دربیارید؟
از 100 گیگ فیلم آموزشی که دانلود کردید 10 تا مطلب منتشر کنید؟
هدف کلی این سایت هم همین است. آیا می‌تونید محتوا تولید کنید؟ یا اینکه فقط کوش، فقط می‌خوام، فقط نیست. فقط زود باش.


پ.ن.
مادر تمام سایت‌های وارز مرتبط با برنامه نویسی، سایتی است با آدرس «board4allcz.eu». اگر کمی دقت کنید، تعداد ایرانی‌های فعال در آن هم بسیار زیاد است! ولی واقعا ضرورتی نداره کار یک سایت دیگر رو ما اینجا تکرار کنیم.
مطالب
دایرکتوری‌های لینک در ایران

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

سایت مهندس:
http://www.mohand.es
بیشتر در زمینه مباحث علوم و تکنولوژی فعال است.

سایت بالاترین:
https://balatarin.com
اگر علاقمند باشید که خلاصه‌ی یک روز وبلاگ‌های ایرانی را که در زمینه مسایل اجتماعی (و غیره!) فعالیت می‌کنند، مطالعه کنید، این سایت در صدر قرار دارد.

سایت سی لینک:
http://www.30link.com/
شبیه به بالاترین که کمتر سیاسی است و بیشتر اجتماعی

سایت دنباله:
http://donbaleh.com
شبیه به سایت بالاترین

سایت oyax :
http://www.oyax.com/
که این روزها به نظر به دلیل نظارت ناکافی، پر از اسپم و لینک‌های تبلیغاتی شده!

لطفا اگر موارد دیگری را سراغ دارید، لینک‌ آن‌ها را به صورت کامنت قرار دهید.
با سپاس

نظرات مطالب
چک لیست ارتقاء به HTTPS مخصوص یک برنامه‌ی ASP.NET MVC 5x
روشی بهتر برای مدیریت محتوای مخلوط (لینک به HTTP و HTTPS در یک صفحه) در مرورگرهای جدید

در مورد محتوای مخلوط و «اصلاح تمام آدرس‌هایی که پیشتر توسط برنامه تولید شده‌اند» در مطلب فوق نکته‌ای عنوان شده‌است. روش دیگر مدیریت آن که نیازی به اصلاح محتوای صفحات سایت را ندارد، استفاده از هدر امنیتی «Content-Security-Policy: upgrade-insecure-requests» است:
<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Strict-Transport-Security" value="max-age=16070400; includeSubDomains" />
        <add name="Content-Security-Policy" value="upgrade-insecure-requests;" />
      </customHeaders>
</httpProtocol>
کار این هدر ویژه ، ارتقاء خودکار لینک‌های درج شده‌ی در صفحات به نگارش‌های HTTPS آن‌ها است. برای مثال این تصویری است که پیش از اعمال این هدر جهت درخواست آدرس gravatar یک کاربر ارسال شده‌است و اخطار محتوای مخلوط را می‌دهد:


و این تصویری است که پس از اعمال هدر upgrade-insecure-requests قابل مشاهده‌است که دیگر اخطار محتوای مخلوط را به همراه ندارد:
 

مطالب
فشرده سازی اسمبلی‌های دات نت

ابزارهای زیادی برای محافظت و یا فشرده سازی و رمزنگاری اسمبلی‌های دات نت موجود هستند که اکثر آنها تجاری هستند. برنامه netz نمونه‌ای است سورس باز و رایگان که تنها کار فشرده سازی اسمبلی موجود را انجام می‌دهد. همچنین با استفاده از آن سورس اسمبلی شما به‌وسیله برنامه reflector قابل مرور نخواهد بود. هر چند این برنامه سورس باز است و امکان unpack کردن نتیجه آن نیز احتمالا با اندکی سعی میسر خواهد بود اما باز هم یک مرحله پیشرفت محسوب می‌شود! خصوصا اینکه می‌توان برای آن Custom Compression Provider نوشت و برای مثال فایل زیپ شده نهایی را رمزنگاری نیز کرد.

قبل از عمل:



بعد از عمل:


نحوه استفاده:

فشردن کردن یک فایل exe توسط آن
netz app.exe

الحاق کردن فایل zip.dll همراه با فایل exe (بدون نیاز به توزیع فایل zip.dll):
netz -z app.exe

یکی کردن تمام dll های برنامه با فایل exe در قالب یک فایل نهایی:
netz -s app.exe lib1.dll lib2.dll

نکته:
در اینجا به صورت پیش فرض از فایل zip.dll برای فشرده سازی استفاده می‌شود (که برای تمام نگارش‌های دات نت قابل استفاده است). در نگارش‌های جدید دات نت، فشرده سازی نیز به کلاس‌های استاندارد اضافه شده است که امکان استفاده از آن نیز در اینجا مهیا است (و دیگر نیازی به استفاده از zip.dll آن نخواهد بود).
netz.exe -r net20comp.dll  app.exe

نحوه برنامه نویسی یک compression provider سفارشی برای آن در آدرس زیر توضیح داده شده است. (اعمال موارد امنیتی دلخواه و استفاده از آن)
http://madebits.com/netz/compress.php

و موارد دیگری که در راهنمای سایت آن توضیح داده شده‌اند.

پروژه‌ها
TaskoMask : سیستم مدیریت تسک سورس باز مبتنی بر NET 6, Microservices, DDD
توضیح
پروژه‌ی سورس باز TaskoMask یک سیستم مدیریت تسک رایگان می‌باشد که سورس آن را می‌توانید از طریق این آدرس در گیت هاب مشاهده کنید. همچنین این پروژه از طریق آدرس taskomask.ir نیز در دسترس میباشد.
برای استفاده مفیدتر از این پروژه، داکیومنت‌های مورد نیاز شامل بخش دامین، معماری، وب سرویس و ... ایجاد شده اند که از طریق ریپازیتوری این پروژه بر روی گیت هاب در دسترس هستند.


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


ویژگی ها
در اینجا برخی ویژگی‌های مهم این پروژه را بررسی میکنیم ولی برای اطلاع از لیست دقیق ویژگی‌ها و امکانات این پروژه و نیز دسترسی به داکیومنت‌ها و بورد‌های آن، بهتر است به ریپازیتوری آن در گیت هاب مراجعه کنید.
NET 6.
#C
Blazor
 ASP.NET Web API
ASP.NET MVC
MongoDB
Redis
MediatR
Microservices
 DDD
CQRS
Event Sourcing
Notification
Repository
Onion Architecture 
 Acceptance Testing
Integration Testing
Unit Testing
UI Testing
E2E Testing


درخواست مشارکت
پروژه تا حد امکان به عنوان یک پروژه‌ی واقعی ولی مینیمال طراحی شده تا نگهداری آن در بلند مدت میسر بوده و همچنین کلیه داکیومنت‌های مورد نیاز فراهم شده تا امکان مشارکت در آن آسان‌تر شود.
از تمام برنامه نویسان عزیز با هر سطح از توانایی دعوت میکنیم که در توسعه‌ی این پروژه به عنوان یک مرجع کوچک برای کمک به مسیر رشد سایر برنامه نویسان مشارکت کنند.


درخواست حمایت 
اگر این پروژه به هر نحوی برای شما سودمند بود با دادن یک ستاره ⭐ در گیت هاب ما را حمایت کنید.


تصاویر پروژه

نظرات مطالب
مدیریت محل اعمال Google analytics در ASP.NET MVC
با سلام و درود؛  یک سوال ؟ برای بدست آوردن کاربران Unique از session استفاده میکنیم و اما گوگل با استفاده از کدهای جاواسکریپت چطور میتونه کاربران  unique را بدست بیاره ؟!
و یک سوال دیگه اگه راهنمایی کنید ممنون میشم.
من یک آمارگیر برای سایتم نوشتم که یک مشکل با کاربرانی داره که با موبایل یا تبلت از سایت دیدن میکنند
و با هر بار بازدید چند بار session اجرا میشه ! یعنی با یک بازدید به جای اینکه یک عدد به کاربران unique  اضافه بشه چند عدد اضافه میشه ! که مشکل برای کاربرانی که از طریق ویندوز سایت را مشاهده میکنند وجود نداره.