‫۱۰ سال و ۹ ماه قبل، چهارشنبه ۴ دی ۱۳۹۲، ساعت ۲۰:۴۰
جزئیات مراحل اتصال Aspects در قسمت قبل بررسی شدند. همچنین این کتابخانه صرفا DLL ایی نیست. یک سری مراحل post build را باید به VS.NET اضافه کند تا پس از کامپایل اولیه برنامه، کار تغییر اسمبلی را انجام دهد.
‫۱۰ سال و ۹ ماه قبل، چهارشنبه ۴ دی ۱۳۹۲، ساعت ۱۹:۲۳
با سلام
من آخرین نسخه  postsharp رو از سایت نیوگت دریافت کردم در یک برنامه ساده HelloWord استفاده کردم وقتی دیباگ می‌کنم  وارد قسمت Aspect نمی‌شود با چند dll مختلف امتحان کردم و فقط یک ورژن 2 پیدا کردم که جواب داد آیا تنظیمات خاصی نیاز دارد؟
‫۱۰ سال و ۹ ماه قبل، سه‌شنبه ۳ دی ۱۳۹۲، ساعت ۱۵:۲۱
- لینک مستقیمی ندارم. جهت تست از بسته NuGet آن استفاده کنید.
- SQL Server هم تجاری است. Windows هم از بنیان تجاری است. احتمالا از هر دوی این‌ها استفاده می‌کنید. تجاری بودن دلیلی برای سرکوب اشتیاق به یادگیری مطلبی نیست و نخواهد بود.
- ضمن اینکه در قسمت‌های بعدی نمونه‌های سورس باز هم معرفی شده‌اند.
‫۱۰ سال و ۹ ماه قبل، سه‌شنبه ۳ دی ۱۳۹۲، ساعت ۱۳:۱۵

اگر امکان دارد لینک مستقیمی جهت دریافت postsharp معرفی کنید.

ضمن اینکه با توجه به اینکه که فرمودید postsharp بسته تجاری و مدت دار است آیا درست است که پروژه امان را وابسته به آن کنیم.

تشکر

البته راه دیگری هم پیدا کردم.
به نظرم جالب اومد.
ابتدا یک اکشن فیلتر تعریف شده و در ان هدر درخواست خوانده شده و با محتوی کوکی چک می‌شود در صورتی که برابر باشند عمل انجام خواهد شد با این تفاوت باید توکن در زمان ارسال در هدر درخواست قرار گیرد مانند زیر:
کد اکشن فیلتر:
public class ValidateJsonAntiForgeryTokenAttribute : ActionFilterAttribute
    {
#region Methods (1) 

// Public Methods (1) 

        /// <summary>
        /// Called when [action executing].
        /// </summary>
        /// <param name="actionContext">The action context.</param>
        public void OnActionExecuting(HttpActionContext actionContext)
        {
            try
            {
                var cookieName = AntiForgeryConfig.CookieName;
                var headers = actionContext.Request.Headers;
                var cookie = headers
                    .GetCookies()
                    .Select(c => c[AntiForgeryConfig.CookieName])
                    .FirstOrDefault();
                var rvt = headers.GetValues("__RequestVerificationToken").FirstOrDefault();
                AntiForgery.Validate(cookie != null ? cookie.Value : null, rvt);
            }
            catch
            {
                actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.Forbidden, "Unauthorized request.");
            }
        }

#endregion Methods 
    }
سپس در اکشن دلخواه باید این اکشن فیلتر را بکار برد (در درخواست‌های json)
[HttpPost]
        //[ValidateAntiForgeryToken]
        [ValidateJsonAntiForgeryToken]
        [OutputCache(Location = OutputCacheLocation.None, NoStore = true)]
        public virtual ActionResult DeletePhoto(int? id)
        {
            string ret="error";
            if (id != null && id > 0)
            {
                bool result = _imageGalleryService.Value.Photos.Value.Delete(id.ToInt32());
                ret = result ? "ok" : "nok";
            }
            return Content(ret);
            //return Json(new { ret });
        }
سپس در طرف ویو به صورت زیر عمل شود
$.ajax({
                       ....
                    type: "POST",
                    url: '@Url',
                    data: JSON.stringify({ id: Id }),
                    contentType: "application/json; charset=utf-8",
                    // این قسمت اضافه شود
                    headers: { __RequestVerificationToken: $("input[name=__RequestVerificationToken]").val() },
                    dataType: "json",
                     ..........
امیدوارم برای دوستان هم کاربرد داشته باشد