هنگام تولید و توسعه سیستمهای مبتنی بر WCF حتما
نیاز به سرویس هایی داریم که متدها را به صورت Async اجرا کنند. در دات نت
4.5 از Async&Await استفاده میکنیم(^). ولی در پروژه هایی که تحت دات نت 4 هستند این امکان وجود ندارد(البته میتونید Async&Await CTP رو برای دات نت 4 هم نصب کنید(^
)). فرض کنید پروژه ای داریم تحت دات نت 3.5 یا 4 و قصد داریم یکی از
متدهای سرویس WCF آن را به صورت Async پیاده سازی کنیم. سادهترین روش این
...
نکته : آشنایی با مفاهیم پایه WCF برای فهم بهتر مفاهیم توصیه میشود.
امروزه استفاده از WCF در پروژههای SOA بسیار فراگیر شده است. کمتر کسی
است که در مورد قدرت تکنولوژی WCF نشنیده باشد یا از این تکنولوژی در پروژههای خود استفاده نکرده باشد. WCF مدل برنامه نویسی یکپارچه مایکروسافت
برای ساخت نرمافزارهای سرویس گرا است و برای توسعه دهندگان امکانی را
فراهم میکند که راهکارهایی امن، و مبتنی بر تراکنش را تو ...
تشریح مسئله : در DataContractSerializer قابلیتی به عنوان سریالایز کردن objectها به صورت درختی وجود داردکه اصطلاحا به اون Circular References گفته میشود در این پست قصد دارم روش پیاده سازی، به همراه مزایای استفاده از این روش رو توضیح بدم. نکته : آشنایی با مفاهیم اولیه WCF برای درک بهتر مطالب الزامی است.
در ابتدا لازم است تا مدل برنامه را تعریف کنیم. ابتدا یک پروژه از نوع WCF Service Application ایجاد ...
تشریح مسئله : KnownTypeAttribute چیست و چگونه از آن استفاده کنیم؟پیش نیاز : آشنایی اولیه با مفاهیم WCF برای فهم بهتر مطالب
در ابتدا یک WCf Service Application ایجاد کنید و مدل زیر را بسازید: [DataContract]
public abstract class Person
{
[DataMember]
public int Code { get; set; }
[DataMember]
public string Name { get; set; }
}
یک کلاس ...
تشریح مسئله : در صورتی که بعد از انتشار برنامه؛ در نسخه بعدی مدل سمت سرور تغییر کرده باشد و امکان بروز رسانی مدلهای سمت کلاینت وجود نداشته باشد برای حل این مسئله بهترین روش کدام است.
نکته : برای فهم بهتر مطالب آشنایی اولیه با مفاهیم WCF الزامی است.
ابتدا مدل زیر را در نظر بگیرید: [DataContract]
public class Book
{
[DataMember]
public i ...
تشریح مسئله : چگونه متدهای سرویس WCF را Overload کنیم.
نکته : آشنایی با مفاهیم اولیه WFC برای فهم بهتر مفاهیم الزامی است.
همانطور که میدانیم امکان Overload کردن متدها در سرویسهای WCF وجود ندارد. یعنی نمیتوان 2 متد با نام و پارامترهای متفاوت داشت. به مثال زیر دقت کنید.
ابتدا یک Contract به صورت زیر تعریف کنید [ServiceContract]
public interface ISampleService
{
[OperationContract]
int Sum( int n ...
نحوه پیاده سازی و مدیریت Instance در پروژههای مبتنی بر WCF
نکته : آشنایی اولیه با مفاهیم WCF جهت درک صحیح مطالب الزامی است.
تشریح مسئله : در صورتی که نیاز باشد که نمونه ساخته شده از سرویس (سمت سرور) به صورت Singleton باشد بهترین روش برای پیاده سازی به چه صورت است.
برای شروع ابتدا مثال زیر را پیاده سازی میکنیم.
یک Contract به صورت زیر تعریف میکنیم:[ServiceContract(SessionMode=SessionMode.Allo ...
مدیریت کدهای وضعیت در Web API
تمامی پاسخهای دریافتی از Web API توسط Client، باید در قالب کدهای وضعیت HTTP باشند. دو کلاس جدید با نامهای HttpResponseMessage و HttpResponseException همراه با ASP.NET MVC 4 معرفی شده اند که ارسال کدهای وضعیت پردازش درخواست به Client را آسان میسازند. به عنوان مثال، ارسال وضعیت برای چهار عمل اصلی بازیابی، ایجاد، آپدیت و حذف رکورد را بررسی میکنیم.
...
آشنایی با مفهوم مسیریابی در Web API
در این قسمت با نحوهی تناظر آدرسها توسط Web API به متدهای موجود در Controller آشنا میشوید.
در هر درخواستی که ارسال میشود، Web API، انتخاب Controller مناسب را با رجوع به جدولی با نام جدول مسیرها انجام میدهد. زمانی که یک پروژهی جدید با استفاده از ASP.NET MVC 4 ایجاد میکنید، یک route پیش فرض به صورت ذیل در متد RegisterRoutes قرا ...