‫۹ سال و ۱۰ ماه قبل، دوشنبه ۱۷ آذر ۱۳۹۳، ساعت ۱۶:۱۱
- بله می‌شود. از الگوی service locator استفاده کنید:
@{
    ViewBag.Title = "Index";

    var categoryService = ObjectFactory.Container.GetInstance<ICategoryService>();
    var list = categoryService.GetAllCategories();
}
- اما ... اینکار برخلاف رویه MVC است. در الگوی MVC یک View نباید مستقیما کوئری بگیرد. View فقط باید اطلاعات مورد نیاز خود را از کنترلر مرتبط دریافت کند.
اطلاعات بیشتر: Don’t Query from the View 
- اگر نیاز است یک سری اطلاعات تکراری در هر اکشن متد به Viewها تزریق شود، روال کار AOP است. در MVC برای پیاده سازی AOP فقط کافی است یک ویژگی جدید از نوع ActionFilterAttribute تعریف کنید و خواص تکراری را به آن منتقل کنید:
public class DuplicateInfo : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            filterContext.Controller.ViewBag.CanonicalUrl = "redirectUrl ..... ";

            base.OnActionExecuting(filterContext);
        }
    }
در اینجا برای نمونه، نحوه‌ی دسترسی به ViewBag را مشاهده می‌کنید. اکنون اکشن متدی که به ویژگی DuplicateInfo مزین شود، به تمام اطلاعات تنظیم شده توسط آن هم دسترسی خواهد داشت.
‫۹ سال و ۱۰ ماه قبل، دوشنبه ۱۷ آذر ۱۳۹۳، ساعت ۱۵:۴۳
آیا می‌شود سرویسی را به ویو تزریق کرد؟ به طور مثال درون یک ویو به سرویس SecurityService دسترسی داشته باشیم:
@if (!SecurityService.IsAuthenticated)
{
                            <li>@Html.ActionLink("ورود", "Login", "Main")</li>
}
برای اینکار یک ViewPage سفارشی ایجاد کردم ولی برای تزریق وابستگی‌ها چیز خاصی به ذهنم نمی‌رسه.
public abstract class CustomViewPage : ViewPage
    {
        public CustomViewPage(IUserService userService, ISecurityService securityService, IUnitOfWork uow)
        {
            Uow = uow;
            SecurityService = securityService;
            UserService = userService;
        }

        public IUserService UserService { get; private set; }
        public ISecurityService SecurityService { get; private set; }
        public IUnitOfWork Uow { get; private set; }
        
    }
    public abstract class CustomViewPage<TModel> : ViewPage<TModel>
    {
        public CustomViewPage(IUserService userService, ISecurityService securityService, IUnitOfWork uow)
        {
            Uow = uow;
            SecurityService = securityService;
            UserService = userService;
        }

        public IUserService UserService { get; private set; }
        public ISecurityService SecurityService { get; private set; }
        public IUnitOfWork Uow { get; private set; }

        
    }
آیا در زمان Initialize کردن وابستگی‌ها باید تنظیم خاصی صورت گیرد؟
سلام از زحماتی که کشیدید ممنونم
طبق ورژن دوم پروژه ای که گذاشتید عمل کردم منتهی DataSource  رو به بانک وصل کردم ولی وقتی اجرا میکنم Loading اجراست فقط هیچ دستکاری دیگه ای هم نشده میشه کمکم کنید؟
‫۹ سال و ۱۰ ماه قبل، جمعه ۱۴ آذر ۱۳۹۳، ساعت ۱۴:۱۲
با سلام و احترام، ضمن تشکر از Feedback ای که ارسال نمودید، حقیقتاً در ابتدای امر چنین قصدی داشتم ولی با مشورت دوستانم بر آن شدم، که مشخصاً به بیان مباحث تئوری موضوع بپردازم. از آنجا که به نظر می‌رسد بر خلاف رویه ماکروسافت که معمولاً مفاهیم را در مجموعه‌های آموزشی از مباحث پایه و مقدماتی شروع می‌کند و تا سطح پیشرفته؛ با جزئیات کامل به بیان موضوع می‌پردازد. متاسفانه در بحث داده کاوی چنین رویه ای را در پیش نگرفته و فرض را بر آن گذاشته است که خواننده با مفاهیم کلی علم داده کاوی آشناست و با این پیش فرض به بررسی الگوریتم‌ها و نحوه استفاده از آنها می‌پردازد. از این رو تصمیم گرفتم بیشتر خلاصه مباحث تئوری را بیان کنم و از آنجایی که به منظور انجام عملیات داده کاوی در گام نخستین شخص داده کاو می‌بایست از داده‌های مورد کاوش، شناخت و آگاهی کافی داشته باشد و همانطور که می‌دانیم، جهت اهداف آموزشی بانک اطلاعاتی Adventure Works  (که حاوی اطلاعات حوزه‌های متفاوت در یک کمپانی می‌باشد) و بانک Adventure Works DW (که در واقع انبار داده حوزه فروش بانک Adventure Works  است)، موجود می‌باشد.  کلیه مثال‌های موجود در Books Online که برای هر الگوریتم و زمینه کاری متناظر با آن ارائه شده است روی این بانک‌های اطلاعاتی انجام می‌گیرد.
لینک زیر دانلود مجموعه آموزش SQL Server 2012 Tutorials - Analysis Services Data Mining می‌باشد. که شامل موارد زیر است:
Basic Data Mining Tutorial
Lesson 1: Preparing the Analysis Services Database
Lesson 2: Building a Targeted Mailing Structure
Lesson 3: Adding and Processing Models
Lesson 4: Exploring the Targeted Mailing Models
Lesson 5: Testing Models
Lesson 6: Creating and Working with Predictions

Intermediate Data Mining Tutorial
Lesson 1: Creating the Intermediate Data Mining Solution
Lesson 2: Building a Forecasting Scenario
Lesson 3: Building a Market Basket Scenario
Lesson 4: Building a Sequence Clustering Scenario
Lesson 5: Building Neural Network and Logistic Regression Models

Creating and Querying Data Mining Models with DMX: Tutorials
Lesson 1: Bike Buyer
Lesson 2: Market Basket
Lesson 3: Time Series Prediction
بدین ترتیب برای مخاطبان این دوره که ممکن است آشنائی با مفاهیم تئوری علم داده کاوی نداشته باشند، سعی شده است مطالب به گونه ای بیان شود که با مطالعه این مجموعه، سر نخ هایی از موضوع بدست آورند و طبیعتاً در صورت علاقه مندی به موضوع به مطالعه عمیق هر الگوریتم بپردازند.
از آنجا که با سونامی «تحصیلات تکمیلی» در کشور مواجه هستیم و بسیاری از پایان نامه‌ها پیرامون موضوع Data Mining می‌باشد و همچنین مشابه بسیاری از موضوعات دیگر؛ بدون در نظر گرفتن زیر ساخت‌ها و فلسفه پیدایش موضوع و دستاوردهای آن و ... پروژه‌های داده کاوی نیز به صورت وارداتی به کشور و به طبع سازمان‌ها تحمیل می‌شود و ... امیدوارم توانسته باشم، هم زبانان نا آشنا را تا حدی که در توان داشتم با موضوع آشنا کرده باشم. برای مطالعه منابع غیر از SQL Server کتاب‌های « داده کاوی کاربردی - RapidMiner » انتشارات نیاز دانش و همچنین کتاب « داده کاوی با کلمنتاین » انتشارات جهاد دانشگاهی واحد صنعتی امیر کبیر نیز به بیان موضوع می‌پردازد. موفق و سلامت باشید.
 
‫۹ سال و ۱۰ ماه قبل، پنجشنبه ۱۳ آذر ۱۳۹۳، ساعت ۰۲:۰۳
خسته نباشید میگم. مطالب مفیدی است ولی نکته ای  رو لازم می‌دونم بیان کنم و آن، اینکه مفاهیم بیان شده  در حد مطالعه خوب است ولی بدون نمونه و مثال، مفاهیم بسیار سختی دارند. برای مثال روش تهیه ROC از روی جدول اطلاعاتی مرتبط با TP - TN - FN - FPو TP Rate و FP rate مشکل است خصوصا با داده‌های زیاد. و یا روش‌های Rule Pruning و Rule Growing در رده بندی و امثالهم. (که البته مفاهیم بسیار سنگین‌تری نیز وجود دارند)

به همین دلیل پیشنهاد می‌کنم در صورت امکان، در انتهای آموزش خود، تا جاییکه امکان دارد با مثال و شکل این موارد بیان شوند.
همچنین ابزار‌های دیگری به غیر از SQL Server نیز مرور شوند (و یا صرفا معرفی شوند) تا با رویکرد عملیاتی ساختن و استفاده کاربردی از داده کاوی، بتوان از آنها بهره برد
(موردی بود که بنده مجبور بودم در یک پروسه، از 3 ابزار برای کارهای مختلف استفاده کنم)
اسلاید هایی هم در این زمینه‌ها وحود دارند که برای شروع مناسب هستند  +  و  +  

موفق باشید
طول عمر Container ایی که تعاریف اولیه را دارد باید به صورت singleton تعریف شود. اگر قرار باشد هر جایی مجزا وهله سازی شود، Container‌های متفاوتی خواهید داشت با اشیاء متفاوتی. یک مثال در این مورد: DI06.zip  
به سازنده CacheInterceptor  پارامتر UnitOfWork را پاس دادم.
var container = new Container();

            container.Configure(x =>
            {
x.For(typeof(IUnitOfWork)).Use(typeof(UnitOfWork)).SetLifecycleTo<HttpContextLifecycle>();
                x.Scan(scan =>
                {
                    scan.WithDefaultConventions();
                    scan.Assembly("Test.Services");
                });
                x.Policies.SetAllProperties(y =>
                {
                    y.WithAnyTypeFromNamespace("Test.Services.Interfaces");
                });
 var dynamicProxy = new ProxyGenerator();
                x.For<ITestService>()
                    .DecorateAllWith(myTypeInterface =>
                        dynamicProxy.CreateInterfaceProxyWithTarget(myTypeInterface,
                             container.GetInstance<CacheInterceptor>()));
            });

ولی uow به صورت HttpContextLifecycle نمیشه.مشکل این تعریف چیه؟
با تشکر
‫۹ سال و ۱۰ ماه قبل، یکشنبه ۹ آذر ۱۳۹۳، ساعت ۲۱:۳۷
- اعمال async با اعمال پس زمینه یکی نیستند. اعمال async واقعی از ترد استفاده نمی‌کنند؛ به همین جهت سربار کمی دارند و مقیاس پذیری سیستم را افزایش می‌دهند. زمانیکه از یک عملیات async استفاده می‌کنید، ترد جاری خالی می‌شود و به سرعت به thread pool، برای استفاده از آن جهت پردازش سایر درخواست‌های رسیده هدایت خواهد شد اما اعمال غیر async، ترد جاری را تا پایان پردازش معطل می‌کنند. این تفاوت اصلی و مهم کارهای async و غیر async است.
- انتقال پارامترها به متدهای async مطابق روش C# 5، همانند قبل و مانند روش‌های متداول موجود است. هدف اصلی از طراحی async و await، عادی به نظر رسیدن این اعمال است؛ از دید برنامه نویس.
در مثال بالا، متد public async Task LoadSomeData بدون پارامتر است. اگر نیاز به ارسال پارامتر به آن هست، از روش زیر استفاده کنید:
RegisterAsyncTask(new PageAsyncTask(() => SomeMethod(param1: 1000)));