Protocol Buffers فرمتی جدید برای تبادل دیتا بین سرور و کلاینت میباشد که توسط گوگل طراحی و ساخته شده است و همچنین اکثر زیرساختهای گوگل از این فرمت برای تبادل اطلاعات بین سرویسها استفاده میکنند. Protocol Buffer را میتوان به عنوان جایگزینی برای JSON/XML بکار برد و به دلایل زیادی که در ادامه دربارهی آن صحبت میکنیم میتواند گزینهی مناسبی برای Microservicesها باشد و همچنین سرعت بالا، سادگی در استفاده، پشتیبانی از زبانهای برنامه نویسی متع ...
چندی قبل مطلب « اطلاع از بروز رسانی نرم افزار ساخته شده » را در سایت جاری مطالعه کردید. در این روش بسیار متداول، شماره نگارشهای جدید برنامه در یک فایل XML و مانند آن قرار میگیرند و برنامه هربار این فایل را جهت یافتن شمارههای مندرج در آن اسکن میکند. اگر پروژهی شما سورس باز است و در GitHub هاست شده، روش دیگری نیز برای یافتن این اطلاعات وجود دارد. در GitHub میتوان از طریق آدرسی به شکل https://api.github.com/repos/user_name/project_name/ ...
روشهای زیادی برای ارسال دادههای سمت سرور تهیه شده در یک برنامهی ASP.NET به کدهای سمت کاربر JavaScript ایی وجود دارند که تعدادی از مهمترینهای آنها را در این مطلب بررسی خواهیم کرد.
روش اول: دریافت اطلاعات سمت سرور به کمک درخواستهای Ajax
استفاده از Ajax یکی از روشهای کلاسیک دریافت اطلاعات سمت سرور در کدهای جاوا اسکریپتی است. <script type="text/javascript">
var products = [];
$(function() {
...
ممکن است بخواهیم در پاسخ یک تقاضای Ajax ای ی، اگر عملیات در سمت سرور با موفقیت انجام شد، خروجی یک Controller action را به کاربر نهایی نشان دهیم. در
چنین سناریویی لازم است که بتوانیم خروجی یک action را
بصورت رشته برگردانیم. در این مقاله به این مسئله خواهیم پرداخت .
فرض کنید در یک سیستم وبلاگ ساده قصد داریم امکان کامنت گذاشتن بصورت ...
ASP.NET Web API در سمت سرور، برای مدیریت ApiControllerها و در سمت کلاینتهای دات نتی آن، برای مدیریت HttpClient، به صورت پیش فرض از JSON.NET استفاده میکند. در ادامه نگاهی خواهیم داشت به تنظیمات JSON در سرور و کلاینتهای ASP.NET Web API.
آماده سازی یک مثال Self host
برای اینکه خروجیهای JSON را بهتر و بدون نیاز به ابزار خاصی مشاهده کنیم، میتوان یک پروژهی کنسول جدید را آغاز کرده و سپس آنرا تبدیل به Host مخصوص We ...
عموما از امکانات LINQ to JSON کتابخانهی JSON.NET زمانی استفاده میشود که ورودی JSON تو در توی حجیمی را دریافت کردهاید اما قصد ندارید به ازای تمام موجودیتهای آن یک کلاس معادل را جهت نگاشت به آنها تهیه کنید و صرفا یک یا چند مقدار تو در توی آن جهت عملیات استخراج نهایی مدنظر است. به علاوه در اینجا LINQ to JSON واژهی کلیدی dynamic را نیز پشتیبانی میکند.
همانطور که در تصویر مشخص است، خروجیهای JSON عموما ترکیبی هستند از ...
تا نگارش فعلی ASP.NET MVC، یعنی نگارش 5 آن، به صورت توکار از JavaScriptSerializer برای پردازش JSON کمک گرفته میشود. این کلاس نسبت به JSON.NET هم کندتر است و هم قابلیت سفارشی سازی آنچنانی ندارد. برای مثال مشکل Self referencing loop را نمیتواند مدیریت کند.
برای استفاده از JSON.NET در یک اکشن متد، به صورت معمولی میتوان به نحو ذیل عمل کرد: [HttpGet]
public ActionResult GetSimpleJsonData()
{
...
پس از بررسی مقدماتی امکانات کتابخانهی JSON.NET، در ادامه به تعدادی از تنظیمات کاربردی آن با ذکر مثالهایی خواهیم پرداخت.
گرفتن خروجی CamelCase از JSON.NET
یک سری از کتابخانههای جاوا اسکریپتی سمت کلاینت، به نامهای خواص CamelCase نیاز دارند و حالت پیش فرض اصول نامگذاری خواص در دات نت عکس آن است. برای مثال بجای UserName به userName نیاز دارند تا بتوانند صحیح کار کنند.
روش اول حل این مشکل، استفاده از و ...
چرا JSON.NET؟ JSON.NET یک کتابخانهی سورس باز کار با اشیاء JSON در دات نت است. تاریخچهی آن به 8 سال قبل بر میگردد و توسط یک برنامه نویس نیوزیلندی به نام James Newton King تهیه شدهاست. اولین نگارش آن در سال 2006 ارائه شد؛ مقارن با زمانی که اولین استاندارد JSON نیز ارائه گردید.
این کتابخانه از آن زمان تا کنون، 6 میلیون بار دانلود شدهاست و به علت کیفیت بالای آن، این روزها پایه اصلی بسیاری از کتابخانهها و فریم ورکهای دا ...
خیلی وقتها لازم است تا نتیجه کوئری حاصله را بصورت Json به ویوی مورد نظر ارسال نمایید. برای اینکار کافیست مانند زیر عمل کنیم [HttpGet]
public JsonResult Get(int id)
{
return Json(repository.Find(id), JsonRequestBehavior.AllowGet);
}
اما اگر کوئری پیچیده و یا یک مدل سلسله مراتبی داشته باشید که با خودش کلید خارجی داشته باشد، هنگام تبدیل نتایج به خروجی Json، با خطای Circular References مواجه می ...