بهرهگیری از یک تابع پویا برای افزودن، ویرایش در مثالهای گذشته دیدید که برای هر کدام از عملهای درج، ویرایش و حذف، تابعهای مختلفی نوشته بودیم که اینکار هنگامیکه یک پروژهی بزرگ در دست داریم زمانبر خواهد بود. چه بسا یک جدول بزرگ داشته باشیم و بخواهیم در هر فرمی، ستون یا ستونهای خاص بهروزرسانی شوند. برای رفع این نگرانی افزودن تابع زیر به سرویسمان گرهگشا خواهد بود. public bool AddOrUpdateOrDelete<TEntity> ...
یک Windows Form جدید ایجاد کنید و نام آن را frmAddEditNews بگذارید. برابر با شکل ویژگیهای IsDeleted، tblCategory و tblNewsId را برابر با None کنید و tblCategoryId را از نوع Combobox انتخاب کنید. سپس با فشار فلش کنار tblNews گزینهی Details را انتخاب کنید. روی tblNews کلیک کرده آنرا بکشید و روی فرم رها کنید. آنگاه ظاهر فرم و چیدمان کنترلها را تنظیم کنید و دو دکمه ذخیره و لغو برابر با شکل در فرم ایجاد کنید: کد رو ...
در Solution Explorer روی نام راه حل - MyNews - راست کلیک کنید و Add-> New Project را انتخاب کنید. سپس یک پروژه از نوع Windows Forms Application انتخاب کنید و نام آنرا MyNewsWinApp بگذارید. یا کلیدهای ترکیبی Shift + Alt + D پنجرهی Data Sources را نمایان کنید. برابر با شکل روی ابزار Add New Data Source کلیک کنید: از پنجرهی باز شده روی گزینهی Service کلیک کنید: روی گزینهی Next کلیک کنید ...
خروجی پروژهی WCF Service Library یک فایل DLL است که هنگامی که با کنسول WCF Test Client اجرا میشود در آدرسی که در Web.Config تنظیم کرده بودیم اجرا میشود. اگر یک پروژهی ویندوزی در همین راه حل بسازیم؛ خواهیم توانست از این آدرس برای دسترسی به WCF بهره ببریم. ولی اگر بخواهیم در IIS سرور قرار دهیم؛ باید در وبسایت آنرا میزبانی کنیم. برای اینکار از Solution Explorer روی راه حل MyNews راستکلیک کنید و از منوی باز شده روی Add -> New Web S ...
پروژه را اجرا کنید و در WCF Test Client به وسیلهی متد AddNews دو خبر جدید درج کنید. روی متدهای GetAllCategory و GetAllNews به صورت جداگانه کلیک کنید. متوجه خواهید شد که هرچند در کلاس tblNews شیای از نوع tblCategory و در کلاس tblCategory شیای از نوع مجموعهی tblNews به صورت Virtual تعریف شده است ولی در بر خلاف انتظارمان اثری از آن در اینجا دیده نمیشود. نتیجهی مشاهدهشده به خاطر است که در هر دو تعریف صفت DataMember را به و ...
پس از ایجاد متدها، نوبت به تغییرات App.Config میرسد. هرچند خود Visual Studio برای کلاس پیشگزیدهی خود تنظیماتی را در App.Config افزوده است ولی چنانچه در در خاطر دارید ما آن فایلها را حذف کردیم و فایلهای جدیدی به جای آن افزودیم. از این رو مراحل زیر را انجام دهید: 1- فایل App.Config را از Solution Explorer باز کنید. 2- به جای عبارت MyNewsWCFLibrary.Service1 در قسمت Service Name این عبارت را بنویسید: MyNewsWCFLibrary.MyNewsService ...
برای ادامهی کار به لایهی Interface بازمیگردیم. کلیهی متدهایی که به آن نیاز داریم، نخست در این لایه تعریف میشود. در اینجا نیز از قراردادهایی برای تعریف کلاس و روالهای آن بهره میبریم که در ادامه به آن میپردازیم. پیش از آن باید بررسی کنیم، برای استفاده از این دو موجودیت، به چه متدهایی نیاز داریم. من گمان میکنم موارد زیر برای کار ما کافی باشد: 1- نمایش کلیهی رکوردهای جدول خبر 2- انتخاب رکوردی از جدول خبر با پارامتر ورودی شناس ...
پیش از ادامهی نوشتار بهتر است توضیحاتی دربارهی قالبهای T4 داده شود. این قالبهای مصنوعی حاوی کدهایی که است که هدف آن صرفهجویی در نوشتن کد توسط برنامه نویس است. مثلاً در MVC شما یکبار قالبی برای صفحه Index خود تهیه میکنید که برای نمونه بجای ساخت جدول ساده، از گرید Kendo استفاده کند و همچنین دارای دکمه ویرایش و جزئیات باشد. از این پس هر بار که نیاز به ساخت یک نمای نوع لیست برای یک ActionResult داشته باشید فرم ساز MVC از قالب شم ...
براى استفاده از کلاسهاى Entity که در نوشتار پیشین ایجاد کردیم در WCF باید آن کلاسها را دستکارى کنیم. متن کلاس tblNews را در نظر بگیرید: namespace MyNewsWCFLibrary
{
using System;
using System.Collections.Generic;
public partial class tblNews
{
public int tblNewsId { get; set; }
public int tblCategoryId { get; set; }
public string Title { get; set; }
public stri ...
در این نوشتار که به صورت آموزش تصویری ارائه میشود؛ یک
سرویس WCF در Visual Studio 2013 ایجاد میکنم، سپس روش استفاده از آنرا در
یک برنامه ویندوزی آموزش خواهم داد. در اینجا در نظرگرفته شده است که شما افزونهى Resharper را روی ویژوال استودیوى خود نصب دارید. پس در صورتیکه هنوز به سراغ آن نرفته اید درنگ نکنید و واپسین نگارش آن را دانلود کنید. در این پروژهی ساده در نظر میگیریم که ...