‫۱۰ سال و ۷ ماه قبل، دوشنبه ۱۲ اسفند ۱۳۹۲، ساعت ۱۷:۰۳
 سلام؛ هر دو مطلب شما را مطالعه کردم. همچنین لینک هندلر شما که به مایکروسافت و MSDN ارجا شده بود و در webform مشکلی ندارم اما در Mvc هندلر را نمی‌شناسد. قسمت زیر را هم به وبکانفیگ اضافه کردم ولی موثر واقع نشد. لطفا راهنمایی بفرمایید برای استفاده از هندلری همانند هندلر فوق در mvc چکار باید انجام داد.
   <system.webServer>
      <handlers>
         <add name="ImageHandler" path="ImageHandler.ashx" verb="*" type="ImageHandler" />
      </handlers>
  </system.webServer>
نسخه مورد استفاده : mvc5 , visulstudio2013 
‫۱۰ سال و ۷ ماه قبل، یکشنبه ۱۱ اسفند ۱۳۹۲، ساعت ۱۳:۴۵
سلام
در پروژه اصلی مشکلی نیست ولی وقتی در DomainClasses کلاس CustomValidator  را اضافه می‌کنم خطای زیر و می‌گیرم
 The type name 'ModelClientValidationRule' could not be found. This type has been forwarded 
to assembly 'System.Web.WebPages, Version=3.0.0.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35'. Consider adding a reference to that assembly.
در App.Config هم تنظیمات زیر و اضافه کردم ولی باز هم نشد
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>  
‫۱۰ سال و ۷ ماه قبل، شنبه ۳ اسفند ۱۳۹۲، ساعت ۱۵:۳۹
glimpse و  Miniprofiler هر دو با Ef6 مشکل دارند . گرچه در سایت‌های برنامه‌های فوق عنوان شده که Ef6 را پوشش میدهند اما هر کدوم به نحوی باگی دارند. از اونجایی که در Ef6 با Rdbms اسکیوال CE کار می‌کنم و همانند Sql server پروفایلری نداره که دستورات ارسالی را بشه دید شما در Ef6 به غیر از دو پروفایل ذکر شده از چه پروفایلری استفاده می‌کنید؟
‫۱۰ سال و ۷ ماه قبل، شنبه ۳ اسفند ۱۳۹۲، ساعت ۱۲:۵۱

سلام؛ Identity در کار با SQLCE مشکل داره! هنگام چک کردن نام کاربری و کلمه عبور پیغامی مبنی بر استفاده از تابع Lowercase میدهد که گویا در SqlCe به شیوه دیگری باید صدا زده شود !

‫۱۰ سال و ۷ ماه قبل، چهارشنبه ۳۰ بهمن ۱۳۹۲، ساعت ۱۳:۴۳

سلام؛ ممنون از پاسختون. من تمام برنامه‌های گزارش سازی را که میشناختم (Telerik, Fastreport, ReportViewer, DevExpress) همه را بررسی کردم . اما هیچ کدام چنین پراپرتی و یا مشابه اون و نداشتند. یعنی هرکسی می‌خواد گزارش بگیرد یک دفعه کل اطلاعات و از بانک می‌خونه! هرچقدر هم با فیلترهای مختلف گزارش و با فیلترهای مختلف مثلا تاریخ یا شماره رکورد محدود کنیم اما در کل کاربر در هر لحظه یک صفحه را که بیشتر نمی‌تواند ببیند. مباحث مذکور به خوبی در انواع گرید و کنترل‌های مختلف پیاده سازی شده و شرکت‌های مختلف راه حل‌های مختلفی همانند مواردی که شما ذکر کردید ارائه کرده اند اما برای گزارش خیر !

‫۱۰ سال و ۷ ماه قبل، دوشنبه ۲۸ بهمن ۱۳۹۲، ساعت ۲۰:۵۸

سلام؛ من اینجا و اینجا و اینجا  را ... مطالعه کردم. اما متوجه نشدم در زمان گزارش گیری با هر ابزاری (Stmulsoft, FastReport, ..) اطلاعات باید به صورت یک BusinesObject و یا هر عنوان دیگه ای به ابزار مورد نظر در قالب یک IEnumeable ارسال شود. در حالی که اگر ما IQueable را با .ToList() به یک IEnumerable تبدیل شود، ممکن است در برگیرنده کل اطلاعات باشد. در این موارد راهی برای کاهش حافظه و سربار کم وجود دارد؟ متد ToList را نمی‌توان به صورت Lazy پیاده سازی کرد یعنی اگر ابزار گزارش ساز فرضا صفحه 1 را نمایش دهد اطلاعات تا صفحه یک از بانک واکشی بشود. اگر گزارش ما 200 صفحه باشد در حالت عادی کل اطلاعات در سرور لود شده و برنامه‌های گزارش ساز صرفا پس از تهیه گزارش اطلاعات را به صورت صفحه بندی نمایش می‌دهند.

‫۱۰ سال و ۸ ماه قبل، چهارشنبه ۲۳ بهمن ۱۳۹۲، ساعت ۲۰:۱۱

سلام

گزارش مستر دیتیل را در Ef برای پوکوهای virstul collection<detail> details چه طوری پیاده سازی باید کرد؟

برای مثال :

public class Master (){
   public int Id {get; set;}
   public string Name {get; set;}
   public Icollection<Detail>Details {get; st;}
}

public Class detail(){
  public int code {get; set;}
  public string datadetail {get; set;}
}

اگر یک IEnumerable<Master> d داشته باشیم. مستر دیتایل و اتصال اونها به stimulsoft چطوری انجام میشه؟

‫۱۰ سال و ۸ ماه قبل، چهارشنبه ۲۳ بهمن ۱۳۹۲، ساعت ۱۵:۴۸

سلام؛ من هم مشکل ایشون دارم و رول‌ها کش نمیشه و هر بار متد GetRolesForUser اجرا میشود. اون هم نه یکبار بلکه به تعداد زیاد و بار زیادی به دیتابیس وارد می‌کنه. لینک شما هم پیغام زیر و میدهد:

An update is available for the .NET Framework 4.5 in Windows 7 SP1, Windows Server 2008 R2 SP1, Windows Server 2008 SP2, and Windows Vista SP2: January 2013

اما ویندوز من 8 هست و پیغام سایت برای ویندوزهای 2008و7وvista هستش. با گشتن هم دیدم بعضی‌ها خودشون متد را دستی کش کردن

        public override string[] GetRolesForUser(string username)
        {
            var cacheKey = string.Format("{0}:{1}", username, ApplicationName);
            var cache = HttpContext.Current.Cache;
            var roles = cache[cacheKey] as string[];
            if (null == roles)
            {              
                using (var db = new Uas3Context())
                {
                    var u = new EfStudentService(db);
                    roles=u.GetUserRoles(username);
                    cache.Insert(cacheKey, roles, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration);                    
                }
            }
            return roles;
        }

اما این متد و من کش کردم باقی متدها چی؟ کل متدها را همین طوری کش کنم؟ این کد هم به نظرم ناقصه . چون با تغییر دیتابیس به روز نمیشه و صرفا درصورت وجود کش اطلاعات می‌خونه. اصلا چرا در دات نت 4.5 این مشکل هست و چرا بر روی ویندوز 8 این پیغام داده میشود؟

‫۱۰ سال و ۸ ماه قبل، سه‌شنبه ۲۲ بهمن ۱۳۹۲، ساعت ۰۲:۳۹

سلام؛ ممنون بابت پاسختون. این طوری به forgeryToken نگاه نکرده بودم.

در صفحه برای Delete و ثبت اطلاعات و یا حتی فیلترکردن اطلاعات و هرجا که کاربر اطلاعاتی وارد می‌کند از AntiForgeryToken استفاده کردم و حذف و ورود اطلاعات و فیلتر کلا در یک صفحه اما هرکدام در تگ Form مجزایی ارسال و دریافت می‌شود و در هر تگ Form یک ForgeryToken گذاشتم.

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

می تونم یک AntiForgeryToken کلی داشته باشم و با جاوا اسکریپت اون و بخونم و به Form.Serilaise() اضافه کنم. اما می‌خواستم راه بهینه اون و بپرسم.

‫۱۰ سال و ۸ ماه قبل، دوشنبه ۲۱ بهمن ۱۳۹۲، ساعت ۲۰:۴۷

عنوان خطا: The anti-forgery token could not be decrypted

جزئیات خطا

The anti-forgery token could not be decrypted. 
If this application is hosted by a Web Farm or cluster,
ensure that all machines are running the same version of ASP.NET Web Pages and
that the <machineKey> configuration specifies explicit encryption and validation keys. 
AutoGenerate cannot be used in a cluster

Description: An unhandled exception occurred during the execution of the current web request. 
Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.Mvc.HttpAntiForgeryException: 
The anti-forgery token could not be decrypted.
If this application is hosted by a Web Farm or cluster, 
ensure that all machines are running the same version of ASP.NET Web Pages and that the <machineKey> configuration 
specifies explicit encryption and validation keys. AutoGenerate cannot be used in a cluster.
شرایط  برنامه:  در زمان ذخیره سازی اطلاعات.(در Mvc دات نت فریم ورک 4.5 و Vs2013)

موارد مشابه در سایر انجمن‌ها : اینجا و اینجا و ...

نتیجه حاصله: درج MachinKey در WebConfig برای مثال:

<system.web>
  <machineKey validationKey="mykey" decryptionKey="myotherkey" validation="SHA1" decryption="AES" />
</system.web>
سوال: علت بروز خطا بر روی بعضی از سیستم‌ها چیست؟ چرا همیشه این خطا نمایش داده نمی‌شود. چرا پیغام نمی‌توانم Decrypt کنم؟ پس چرا در همین برنامه ولی دربخش دیگری که از anti-forgery token استفاده شده مشکل وجود ندارد؟