در بسیاری از پروژههای دات نت، نیاز به استفاده از فایلهای نرم افزار آفیس، از قبیل ورد و اکسل و ... وجود دارد. برای مثال گاهی لازم است اطلاعات یک گرید، یا هر منبع دادهای، در قالب اکسل به کاربر نمایش داده شود. بدین شکل که این فایلها در زمان اجرا ساخته شده و به کاربر نمایش داده شود .حال فرض کنید شما روی سیستم خودتان Office2007 را نصب کرده اید و به اسمبلیهای این ورژن دسترسی دارید. البته بدون نیاز به نصب آفیس نیز میتوان به این توابع دسترس ...
در قسمت قبل معماری اپلیکیشنهای N-Tier و بروز رسانی موجودیتهای منفصل توسط Web API را بررسی کردیم. در این قسمت بروز رسانی موجودیتهای منفصل توسط WCF را بررسی میکنیم. بروز رسانی موجودیتهای منفصل توسط WCF سناریویی را در نظر بگیرید که در آن عملیات CRUD توسط WCF پیاده سازی شده اند و دسترسی دادهها با مدل Code-First انجام میشود. فرض کنید مدل اپلیکیشن مانند تصویر زیر است. همانطور که میبینید مدل ما متشکل از پستها و نظرات کار ...
تمام اپلیکیشنها را نمیتوان در یک پروسس بسته بندی کرد، بدین معنا که تمام اپلیکیشن روی یک سرور فیزیکی قرار گیرد. در عصر حاظر معماری بسیاری از اپلیکیشنها چند لایه است و هر لایه روی سرور مجزایی توزیع میشود. بعنوان مثال یک معماری کلاسیک شامل سه لایه نمایش (presentation)، اپلیکیشن (application) و داده (data) است. لایه بندی منطقی (logical layering) یک اپلیکیشن میتواند در یک App Domain واحد پیاده سازی شده و روی یک کامپیوتر میزبانی شود. در این ...
گاهی از اوقات نیاز است در کوئریها از بین چندین مقدار یکی انتخاب و بجای مقدار اصلی، رشته یا عبارتی جایگزین، نوشته شود. پر استفادهترین راه حل پیشنهادی، استفاده از عبارت case در داخل کوئری هست که بر اساس موارد ممکن، عبارتهای برگشتی نوشته میشود. این راه حل خوبی به نظر میرسد اما اگر تعداد گزینهها زیاد شود باعث شلوغ شدن متن کوئری و اشکال در بازبینی و نگهداری آن خواهد شد.
یک راه حل دیگر استفاده از توابع نوع Scalar میباشد؛ به ا ...
فرض کنید مطابق اصول نامگذاری که تعیین کردهاید، تمام جداول بانک اطلاعاتی شما باید با پیشوند tbl شروع شوند. برای انجام اینکار در نگارشهای قبلی EF Code first میبایستی از ویژگی Table جهت مزین کردن تمامی کلاسها استفاده میشد و یا به ازای تک تک موجودیتها، یک کلاس تنظیمات ویژه را افزود و سپس از متد ToTable برای تعیین نامی جدید، استفاده میشد. در EF 6 امکان بازنویسی سادهتر پیش فرضهای تعیین نام جداول، طول فیلدها و غیره، پیش بینی شدهاند ک ...
وقتی یک Web API میسازید بهتر است صفحات راهنمایی هم برای آن در نظر بگیرید، تا توسعه دهندگان بدانند چگونه باید سرویس شما را فراخوانی و استفاده کنند. گرچه میتوانید مستندات را بصورت دستی ایجاد کنید، اما بهتر است تا جایی که ممکن است آنها را بصورت خودکار تولید نمایید.
بدین منظور فریم ورک ASP.NET Web API کتابخانه ای برای تولید خودکار صفحات راهنما در زمان اجرا (run-time) فراهم کرده است. ایجاد صفحات راهنمای API برای ش ...
گرچه ASP.NET Web API بهمراه ASP.NET MVC بسته بندی شده و استفاده میشود، اما اضافه کردن آن به اپلیکیشنهای ASP.NET Web Forms کار ساده ای است. در این مقاله مراحل لازم را بررسی میکنیم.
برای استفاده از Web API در یک اپلیکیشن ASP.NET Web Forms دو قدم اصلی باید برداشته شود: اضافه کردن یک کنترلر Web API که از کلاس ApiController مشتق میشود. اضافه کردن مسیرهای جدید به متد Application_Start . یک پروژه Web Forms بساز ...
در نظر بگیرید که یک پروژه WPF را با الگوی MVVM پیاده سازی کرده اید و نیاز پیدا میکنید تا یک پنجره را از طریق کد ببندید. از آنجایی که به کنترل Window درون ViewModel دسترسی ندارید، نمیتوانید از متد Close آن برای اینکار استفاده کنید. راههای مختلفی برای اینکار وجود دارند، مثلا اگر از MVVM Light Toolkit استفاده میکنید با ارسال یک Message و نوشتن یک تکه کد در CodeBehind پنجره میتوانید اینکار را انجام بدهید. اما برای اینکار یک راه حل ساد ...
در این مقاله با استفاده از ASP.NET Web API یک سرویس HTTP خواهیم ساخت که از عملیات CRUD پشتیبانی میکند. CRUD مخفف Create, Read, Update, Delete است که عملیات پایه دیتابیسی هستند. بسیاری از سرویسهای HTTP این عملیات را بصورت REST API هم مدل سازی میکنند. در مثال جاری سرویس ساده ای خواهیم ساخت که مدیریت لیستی از محصولات (Products) را ممکن میسازد. هر محصول شامل فیلدهای شناسه (ID)، نام، قیمت و طبقه بندی خواهد بود.
سرویس ما ...
یک Windows Form جدید ایجاد کنید و نام آن را frmAddEditNews بگذارید. برابر با شکل ویژگیهای IsDeleted، tblCategory و tblNewsId را برابر با None کنید و tblCategoryId را از نوع Combobox انتخاب کنید. سپس با فشار فلش کنار tblNews گزینهی Details را انتخاب کنید. روی tblNews کلیک کرده آنرا بکشید و روی فرم رها کنید. آنگاه ظاهر فرم و چیدمان کنترلها را تنظیم کنید و دو دکمه ذخیره و لغو برابر با شکل در فرم ایجاد کنید: کد رو ...