مطالب
بارگذاری فایل‌های ایستا از پوشه‌ی Views در ASP.NET MVC
گاهی از اوقات تنها نیاز است یک View خاص و نه تمام صفحات سایت، فایل اسکریپت ویژه‌ی خود را مورد استفاده قرار دهد. در این حالت می‌توان فایل اسکریپت مورد نیاز آن‌را مطابق معمول در پوشه‌ی Scripts در کنار سایر فایل‌ها قرار داد و یا ... حتی شاید بهتر باشد این فایل اسکریپت ویژه را در همان پوشه‌ی View مورد نظر قرار داد. اگر اینکار را انجام دهیم، برنامه کار نخواهد کرد و فایل اسکریپت با خطای 404، بارگذاری نمی‌شود. علت اینجا است که در ریشه پوشه‌ی Views، فایل web.config خاصی با تنظیم ذیل قرار دارد:
  <system.webServer>
    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode"
           type="System.Web.HttpNotFoundHandler" />
    </handlers>
  </system.webServer>
به این ترتیب هر درخواستی که به پوشه‌ی views یک برنامه‌ی ASP.NET MVC برسد، با پیغام 404 مواجه خواهد شد.
در ادامه می‌خواهیم این تنظیم همانگونه که بوده‌است، حفظ شود (چون مسیر پردازش صفحات در MVC از کنترلر به View است و نیازی نیست تا ابتدا View خاصی بارگذاری شود) اما اجازه دهیم تا فایل‌های JavaScript از این مسیر قابل بارگذاری و استفاده شوند. برای این منظور می‌توان با ویرایش فایل Views/web.config به صورت زیر عمل کرد:
  <system.webServer>
    <handlers>
      <add name="JavaScriptHandler"
         path="*.js"
         verb="*"
         preCondition="integratedMode"
         type="System.Web.StaticFileHandler" />
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" 
           path="*" 
           verb="*" 
           preCondition="integratedMode"
           type="System.Web.HttpNotFoundHandler" />
    </handlers>
  </system.webServer>
در اینجا امکان قرار دادن فایل‌های اسکریپت یک پوشه‌ی خاص تحت ریشه‌ی Views و بارگذاری معمولی آن میسر شود؛ بدون اینکه امکان دسترسی به فایل‌های cshtml یا سایر فایل‌های دیگر مانند قبل وجود داشته باشد.


در ادامه برای مسیر دهی این فایل اضافه شده باید به نحو ذیل عمل کرد:
 <script type="text/javascript" src="~/Views/Home/Test.js"></script>
مطالب
CopyPasteKiller

افزونه‌ای به نام clone detective چندی قبل در این سایت معرفی شد. اکنون پروژه دیگری به صورت یک برنامه مستقل ارائه شده است به نام copy/paste killer که آن هم تمام فایل‌های پروژه شما را بررسی کرده، خطوط مشابه (نه الزاما دقیقا یکسان) را یافته و گزارش می‌دهد. به این صورت کار refactoring جهت حذف قسمت‌های تکراری و مدیریت این امر با سهولت بیشتری امکان پذیر خواهد شد. این برنامه در حال حاضر از VB.Net و سی شارپ پشتیبانی می‌کند.



جهت دریافت آن می‌توان به آدرس زیر مراجعه کرد:


Vote on iDevCenter
مطالب
از کجا به وب سرور شما حمله DOS شده است؟

اگر پیش فرض‌های IIS را تغییر نداده باشید، تمامی اعمال رخ داده در طی یک روز را در یک سری فایل‌های متنی در یکی از آدرس‌های زیر ذخیره می‌کند:

IIS 6.0: %windir%\System32\LogFiles\W3SVC<SiteID>
IIS 7.0: %systemDrive%\Inetpub\logfiles

اطلاعات فوق العاده ارزشمندی را می‌توان از این لاگ فایل‌های خام بدست آورد. اعم از تعداد بار دقیق مراجعه به صفحات، چه فایل‌هایی مفقود هستند (خطای 404)، کدام صفحات کندترین‌های سایت شما را تشکیل می‌دهند و الی آخر.
مایکروسافت برای آنالیز این لاگ فایل‌ها (که محدود به IIS‌ هم نیست) ابزاری را ارائه داده به نام LogParser که این امکان را به شما می‌دهد تا از فایل‌های CSV مانند با استفاده از عبارات SQL کوئری بگیرید (چیزی شبیه به پروایدرهای LINQ البته در سال‌های 2005 و قبل از آن).
یکی از کاربردهای این ابزار، بررسی‌های امنیتی است.

سؤال؟ چگونه متوجه شوم کدام کامپیوتر در شبکه اقدام به حمله DOS کرده و سرور را دارد از پا در می‌آورد؟
از آنجائیکه در لاگ‌های IIS دقیقا IP تمامی درخواست‌ها ثبت می‌شود، با آنالیز این فایل ساده متنی می‌توان اطلاعات لازم را بدست آورد.
logparser.exe -i:iisw3c "select top 25 count(*) as HitCount, c-ip from C:\WINDOWS\system32\LogFiles\W3SVC1\*.log group by c-ip order by HitCount DESC" -rtp:-1 > top25-ip.txt
دستور خط فرمان فوق، یک کوئری SQL را بر روی تمامی لاگ فایل‌های قرار گرفته در مسیر یاد شده اجرا کرده و نتیجه را در یک فایل متنی ذخیره می‌کند.
به این صورت می‌توان دقیقا متوجه شد که از کدام IP‌ مشغول به زانو درآوردن سرور هستند.

اگر به این ابزار علاقمند شدید مطالعه مقاله زیر توصیه می‌شود:


راهنماهای پروژه‌ها
فشرده سازی گزارش‌های تولیدی
برای فعال کردن فشرده سازی فایل‌های گزارش تولیدی (خصوصا جهت برنامه‌های وب) تنها کافی است تنظیم زیر را به DocumentPreferences اضافه نمائید:
            return new PdfReport().DocumentPreferences(doc =>
            {
                // ...
                doc.Compression(new CompressionSettings
                {
                    EnableCompression = true,
                    EnableFullCompression = true
                });
            })
برای نمونه با افزودن تنظیم فوق به گزارش IList، حجم فایل تولیدی از حدود 400KB به حدود 100KB کاهش پیدا می‌کند.
پاسخ به بازخورد‌های پروژه‌ها
مشکل دریافتن محل دریافت فایل‌ها
- در این سایت در قسمت پروژه‌ها، هر پروژه یک صفحه اصلی و معرفی دارد. در کنار این صفحه، سمت راست آن، یک منوی دریافت فایل هست. از اینجا سورس یا فایل‌های مرتبط با پروژه جاری قابل دریافت هستند.



- کلمه عبور و نام کاربری داده شده مربوط به زمانی است که سورس پروژه دریافتی رو در VS.NET اجرا کردید (حتما یکبار نظرات پیشین رو هم برای دریافت پیشنیازها مطالعه کنید) و قصد دارید مثلا به برنامه لاگین کنید.
پاسخ به بازخورد‌های پروژه‌ها
مشکل در دریافت خروجی pdf به صورت FlushInBrowser
باید کدتون رو ببینم. (شاید باید تمام فایل‌های dll همراه کتابخانه رو به روز کنید؛ اگر در مثال برنامه جواب می‌گیرد. شماره نگارش‌های dllها رو تطابق بدید)
ولی در کل بهتر است از متد FlushInBrowser به نحو ذیل استفاده کنید:
 .Generate(data =>
                {
                    fileName = HttpUtility.UrlEncode(fileName, Encoding.UTF8);
                    data.FlushInBrowser(fileName, FlushType.Inline);
                }); // creating an in-memory PDF file
پاسخ به بازخورد‌های پروژه‌ها
گزارش در سیلورلایت
- در مورد مزایای فایل‌های PDF و خصوصا بحث پرینت مطلوب توسط کاربر لطفا مراجعه کنید به مطلب معرفی PdfReport . این مزایا رو XAML به شما نمی‌ده. اگر گزارش رسمی قابل چاپ نیاز دارید، بهترین فرمت PDF است. می‌تونید گرید‌های XAML رو صرفا برای نمایش هم استفاده کنید، اما کیفیت چاپی PDF رو نداره.
- یک مثال در مورد نحوه استفاده از PdfReport در سیلورلایت به همراه سورس‌های برنامه موجود است. لطفا مراجعه کنید به پوشه Samples\SlPdf. برای استفاده، از WCF Service استفاده کرده.

اشتراک‌ها
معرفی NotebookLM: با کتاب‌هایتان حرف بزنید!
«... مدتی است یک سرویس مبتنی بر هوش مصنوعی تازه به نام NotebookLM توسط گوگل در اختیار کاربران قرار گرفته که کاربردهای متعددی دارد. یکی از مهم‌ترین کاربردهای آن، برای افرادی است که با منابع علمی و پژوهشی متعدد سر و کار دارند. شما می‌توانید کتاب‌ها و فایل‌های پی دی اف خودتان را در NotebookLM آپلود کنید. سپس هر پرسشی که داشتید، مطرح کنید تا بر اساس منابع آپلود شده‌ی خودتان به آنها پاسخ داده شود...»
معرفی NotebookLM: با کتاب‌هایتان حرف بزنید!
نظرات مطالب
تبدیل یک قالب HTML معمولی به قالب React
نکته بسیارمهم : در حین انتقال لینک فایل‌های css و js به صفحه index.html در دایرکتوری public حتما قبل از مسیرها عبارت %PUBLIC_URL%/ یا از  /  را در ابتدای آدرس ذکر کنید.
نمونه:
 <link rel="stylesheet" href="dist/css/adminlte.min.css" />

به
 <link rel="stylesheet" href="%PUBLIC_URL%/dist/css/adminlte.min.css" />
یا
 <link rel="stylesheet" href="/dist/css/adminlte.min.css" />

در صورت عدم اصلاح، در زمان مسیریابی ، زمانی که شاخه جدیدی یا پارامتر جدید به مسیر اضافه شود، آدرس دهی فایل‌ها از کار خواهد افتاد.
به عنوان مثال در چنین آدرس صفحه بدون مشکل در دسترس است:
http://localhost:3000/domain

زمانی که به ادرس زیر تغییر کند مسیر فایل‌های css و js دیگر به درستی تشخیص داده نخواهد شد.
http://localhost:3000/domain/1
این مشکل زمانی که صفحه رفرش شود، خود را نشان میدهد.