۹ سال و ۱۱ ماه قبل، شنبه ۱۰ آبان ۱۳۹۳، ساعت ۲۳:۳۷
۹ سال و ۱۱ ماه قبل، شنبه ۱۰ آبان ۱۳۹۳، ساعت ۱۸:۲۸
از متد Contains استفاده کنید که به where in ترجمه میشود:
from book in db.Books where booksId.Contains(book.bookId)
۹ سال و ۱۱ ماه قبل، شنبه ۱۰ آبان ۱۳۹۳، ساعت ۰۳:۵۹
در متن توضیح دادم: « همچنین با توجه به مشخص بودن نوع model که در ابتدای فایل تعریف شده،
خاصیتهایی را که قرار است اطلاعات ارسالی به آنها بایند شوند نیز به نحو
strongly typed تعریف شدهاند و تحت نظر کامپایلر خواهند بود»
به این معنا که استفاده از Html@ها سبب خواهد شد، اگر نام خاصیتی را در کدهای خود تغییر دادید، بتوان پیش از اجرای سایت و در حین کامپایل، دقیقا تشخیص داد که کدام Viewهای یک برنامهی بزرگ دیگر کار نخواهند کرد. همچنین این HTML helperها، مسیرها را بر اساس اطلاعات routing سایت به صحیحترین نحو ممکن تولید میکنند به همراه اعمال encoding و بسیاری از مسایل امنیتی توکار دیگر. دربارهی این موارد در قسمتهای بعدی بیشتر بحث شده.
به این معنا که استفاده از Html@ها سبب خواهد شد، اگر نام خاصیتی را در کدهای خود تغییر دادید، بتوان پیش از اجرای سایت و در حین کامپایل، دقیقا تشخیص داد که کدام Viewهای یک برنامهی بزرگ دیگر کار نخواهند کرد. همچنین این HTML helperها، مسیرها را بر اساس اطلاعات routing سایت به صحیحترین نحو ممکن تولید میکنند به همراه اعمال encoding و بسیاری از مسایل امنیتی توکار دیگر. دربارهی این موارد در قسمتهای بعدی بیشتر بحث شده.
۹ سال و ۱۱ ماه قبل، جمعه ۹ آبان ۱۳۹۳، ساعت ۲۲:۰۷
عرض کردم. این مورد خاص در نگارش فعلی ASP.NET MVC (تا قبل از نگارش 6)، راه حلی ندارد. معمولی کار کنید؛ مانند قبل (خروجی ActionResult بجای <async Task<ActionResult).
۹ سال و ۱۱ ماه قبل، جمعه ۹ آبان ۱۳۹۳، ساعت ۲۱:۴۷
- اگر از اکشن متد MainSlider به صورت child action استفاده میشود (مثلا حین فراخوانی Html.Action یا Html.RenderAction)، این فراخوانی حتما باید همزمان باشد و حالت غیرهمزمان آن پشتیبانی نمیشود .
- این محدودیت در نگارش بعدی ASP.NET MVC (نگارش 6 آن) برطرف شدهاست.
- این محدودیت در نگارش بعدی ASP.NET MVC (نگارش 6 آن) برطرف شدهاست.
۹ سال و ۱۱ ماه قبل، جمعه ۹ آبان ۱۳۹۳، ساعت ۱۸:۵۲
- مراجعه کنید به راهنمای اصلی نرم افزار، قسمت break points آن (اواسط صفحه).
- با easy hook هم امکان پذیر است. فقط باید چند هزار تعریف API ایی را که در برنامهی API Monitor حاضر و آماده وجود دارند، تبدیل کنید به کدهای سیشارپ و بعد استفاده کنید.
- ضمن اینکه برای آنالیز بدافزارها استفاده از API Monitor کافی نیست. باید مراجعه کنید به برنامههایی مانند OllyDBG.
- با easy hook هم امکان پذیر است. فقط باید چند هزار تعریف API ایی را که در برنامهی API Monitor حاضر و آماده وجود دارند، تبدیل کنید به کدهای سیشارپ و بعد استفاده کنید.
- ضمن اینکه برای آنالیز بدافزارها استفاده از API Monitor کافی نیست. باید مراجعه کنید به برنامههایی مانند OllyDBG.
۹ سال و ۱۱ ماه قبل، جمعه ۹ آبان ۱۳۹۳، ساعت ۱۵:۱۹
- یک partial view به نام مثلا SidebarMenu ایجاد میکنید؛ جهت رندر قسمت منو با هر محتوا و روشی که صلاح میدانید.
- سپس یک کنترلر مخصوص آن ایجاد میکنید که این partial view را ارائه دهد:
به عمد توسط ChildActionOnly مزین شده تا مستقیما قابل فراخوانی نباشد.
- در آخر در فایل layout خواهید داشت:
یک نکتهی تکمیلی:
مسیردهیهای خاص فوق از T4MVC استفاده میکنند.
- سپس یک کنترلر مخصوص آن ایجاد میکنید که این partial view را ارائه دهد:
public partial class SidebarMenuController : Controller { const int Min15 = 900; [ChildActionOnly] [OutputCache(Duration = Min15)] public virtual ActionResult Index() { return PartialView(viewName: MVC.Shared.Views._SidebarMenu); } }
- در آخر در فایل layout خواهید داشت:
@{Html.RenderAction(result: MVC.SidebarMenu.Index());}
یک نکتهی تکمیلی:
مسیردهیهای خاص فوق از T4MVC استفاده میکنند.
۹ سال و ۱۱ ماه قبل، جمعه ۹ آبان ۱۳۹۳، ساعت ۱۳:۲۴
در قسمت API Filter آن، تمام موارد موجود را تیک بزنید. به این صورت تمام توابع WIN32 API تعریف شده در اینجا تحت نظر قرار میگیرند. زمانیکه فراخوانی شدند در قسمت لاگ صفحه، ریز جزئیات آنها (تمام ورودیها و خروجیهای توابع) قابل بررسی و ذخیره خواهد بود.
۹ سال و ۱۱ ماه قبل، پنجشنبه ۸ آبان ۱۳۹۳، ساعت ۰۵:۲۴
برای این حالت در متد RunAt فقط بنویسید return true. چون این متد ثانیهای یکبار فراخوانی میشود.
۹ سال و ۱۱ ماه قبل، پنجشنبه ۸ آبان ۱۳۹۳، ساعت ۰۳:۳۱
در متد RunAt بازه زمانی را مشخص کنید. در این مثالها یک سری عدد ثابت است؛ شما آنها را از دیتابیس بخوانید. فقط دقت داشته باشید که خروجی true/false این متد ثانیهای یکبار بررسی میشود. بنابراین مباحث caching را جهت واکشی اطلاعات از بانک اطلاعاتی در متد RunAt اعمال کنید تا بیجهت رفت و برگشت اضافی صورت نگیرد.