هدف، ارائه راهحلی برای نمایش جدولی اطلاعات، جستجو، مرتب سازی و صفحه بندی و همچنین انجام عملیات ثبت، ویرایش و حذف بر روی آنها به صورت Ajaxای در بخش back office نرم افزار میباشد. پیش نیازها: طراحی یک گرید با Angular و ASP.NET Core - قسمت اول - پیاده سازی سمت سرور (قسمت اول این سری 3 قسمتی، شامل توضیحات کاملی در مورد دلیل وجود یکسری واسط، کلاس پایه و متدهای کمکی است که در مقاله جاری هم آنها را مشاهده خواهید کرد.) ...
اگر در کدهای خود قطعه کد ذیل را دارید: using(var client = new HttpClient())
{
// do something with http client
}
استفادهی از using در اینجا، نهتنها غیرضروری و اشتباه است، بلکه سبب از کار افتادن زود هنگام برنامهی شما با صدور استثنای ذیل خواهد شد: Unable to connect to the remote server
System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permit ...
در برنامههای تحت وب، در بعضی موارد نیاز داریم تا برای کاربر، امکان ثبت دادههایش را با آپلود فایلهای Excel فراهم کنیم. برای مثال در مطلب خواندن اطلاعات از فایل اکسل با استفاده از LinqToExcel ، امکان خواندن از Excel توضیح داده شده، اما نقطه ضعف این روشها، وابستگی به Provider های مایکروسافت است که در صورت عدم نصب آن ها: Microsoft.Jet.OLEDB.4.0 provider --> Excel 97-2003 format (.xls)
Microsoft.ACE.OLEDB.12.0 provider --& ...
طی مقاله چک لیست تولید برنامه Asp.net mvc و بررسی امنیتی ایجکس هنگام استفاده در مورد چک لیست امنیتی
سایت سرفصلهای مهم عنوان و بررسی شده است که یکی از موارد، مقاوم ساختن وب اپلیکشن در برابر حملات CSRF میباشد. اینگونه حملات بر پایه این استراتژی شکل میگیرند که با
ارسال درخواستی به نیابت از سمت سیستم/مرورگر کاربر تایید هویت شده، سایت مقصد را مجبور
به انجام عملی کند. برای مثال اگر شما در سایت a.c ...
در این مطلب قصد داریم علاوه بر طراحی زیرساختی برای راه اندازی هرچه سریعتر ServiceLayer، طراحی ای برای مکانیزم Validation به عنوان یک Cross Cutting Concern ، نیز ارائه داده و آن را پیاده سازی کنیم. پیش نیازها: قبلا در سایت در مورد لایه بندی نرم افزار و ServiceLayer مطلب منتشر شده است؛ لذا مطالعه این سری مقالات برگرفته از کتاب Professional ASP.NET Design Patterns جزء پیش نیازهای این مطلب میباشد. دوره Aspect oriented p ...
در سایت جاری، مباحث زیادی در مورد دسترسی یک نقش به اکشن متدها مطرح شده است. در این مقالات یاد گرفتهایم اگر اکشن متدی به ویژگی Authorization مزین گردد، دسترسی این اکشن متد تنها به کاربران لاگین شده خلاصه شده و اگر پارامتر Roles را با نام نقشها مقداردهی کنیم، تنها کاربرانی که آن نقش را دارند، به این اکشن متد دسترسی خواهند داشت. ولی گاهی اوقات شرایطی ایجاد میشود که مشخص نیست این نقش در حال حاضر باید دسترسی به اکشن متد مورد نظر را داشته ...
در مقالاتی که در سایت منتشر شدهاست، آشنایی و همچنین نحوه پیاده سازی Json Web Token را فرا گرفتیم. در اینجا میخواهیم با استفاده از توکن تولید شده، برنامههای Angular2 یا هر نوع فریمورک spa را با آن ارتباط دهیم. در سایت جاری قبلا در مورد نحوه پیاده سازی آن صحبت شدهاست و میخواهیم از آن در یک پروژه Angular 2 صحبت کنیم. پروژه دات نت را از طریق این آدرس دریافت کرده و آن را در حالت اجرا بگذارید.
...
در سیستمهای اتصال از راه دور به خصوص اتصال
تلفنهای همراه به وب سرویس، یکی از مواردی که مرتبا قبل از هر درخواستی
بررسی میگردد، صحت نام کاربری و کلمه عبور درخواستی است. در این روش کاربر،
الزامات امنیتی (نام کاربری و کلمه عبور) را در بدنه درخواست قرار داده و
هر api باید قبل از انجام عملیات، صحت آن را بررسی کند. این مورد باعث میشود
که کدها از حالت بهینه خارج شده و در سمت سرور، Api مربوطه باید صحت آن را
بررسی کند. در این مق ...
یکی از مواردی که درپروژهها زیاد مورد استفاده قرار میگیرد، نمایش دادههای ذخیره شدهی در بانک اطلاعاتی، به صورت صفحه بندی شده به کاربر میباشد. قبلا در زمینه بحث Paging، مطلبی تهیه شده بود و در این مقاله قصد داریم کتابخانهای را مورد بررسی قرار دهیم که علاوه بر ارسال داده به صورت Ajax ایی، بتواند همچنین پارامترهای مورد نظر را به صورت Query String نیز در آدرس بار نمایش دهد.
اگر به جستجوی گوگل دقت کرده باشید، به صورت Ajax ایی ...
قطعه کد زیر را در نظر بگیرید : [HttpPost,AjaxOnly, ValidateAntiForgeryToken]
public virtual JsonResult Create(AddDeviceGroupViewModel deviceGroupViewModel)
{
if (ModelState.IsNotValid())
{
Response.StatusCode = (int)HttpStatusCode.BadRequest;
return Json(new { success = false, message = ModelState.FirstErrorMessage(), notificationType = ...