برای ادامهی کار به لایهی 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 را روی ویژوال استودیوى خود نصب دارید. پس در صورتیکه هنوز به سراغ آن نرفته اید درنگ نکنید و واپسین نگارش آن را دانلود کنید. در این پروژهی ساده در نظر میگیریم که ...
چند وقت پیش در پروژهای یک سرویس WCF داشتم که اطلاعاتی را در قالب یک کلاس poco برگشت میداد. اخیرا بعد از اصلاحاتی در پروژه متوجه شدم که سرویس کار نمیکند. هیچ خطایی هم وجود نداشت. شروع به دیباگ کردم و متوجه شدم که سرویس برنامه اطلاعات را برگشت میدهد، اما برنامهی مشتری تعداد اطلاعات دریافتی را صفر اعلام میکند و هیچ خطایی هم گزارش نمیشود. چون اطلاعات در قالب باینری در قسمتی از کلاس poco برگشت میشد، ابتدا حدسم حجم فایل بود. اطلاع ...
حالتی را در نظر بگیرید که سرویسهای یک برنامه در آدرسی مشخص هاست شده اند. اگر اعتبار سنجی برای این سرویسها در نظر گرفته نشود به راحتی میتوان با در اختیار داشتن آدرس مورد نظر تمام سرویس های برنامه را فراخوانی کرد و اگر رمزگذاری اطلاعات بر روی سرویسها فعال نشده باشد میتوان تمام اطلاعات این سرویسها را به راحتی به دست آورد. کمترین تلاش در این مرحله برای پیاده سازی امنیت این است که برای فراخوانی هر سرویس حداقل یک شناسه و رمز عبور چک شود ...
در WCF سه نوع Message Encoder وجود دارد: Text(Xml) Message Encoder(به صورت پیش فرض در تمام Http-Base Bindingها از این Encoder استفاده میشود) Binary Message Encoder(به صورت پیش فرض در تمام Net* Bindingها از این encoder استفاده میشود که برای سرویسهای وب مناسب نیست) MTOM Message Encoder
(در حالت استفاده از Http-Base Bindingها و انتقال اطلاعات به صورت
باینری از این گزینه استفاده میشود که به صورت پیش فرض غ ...
فرض کنید در حال توسعه یک سیستم مبتنی بر WCF هستید. بنابر نیاز باید یک سری اطلاعات مشخص در اکثر درخواستهای بین سرور و کلاینت ارسال شوند یا ممکن است بعد از انجام بیش از 50 درصد پروژه این نیاز به وجود آید که یک یا بیش از یک پارامتر (که البته از سمت کلاینت تامین خواهند شد) در اکثر کوئریهای گرفته شده سمت سرور شرکت داده شوند. خوب! در این وضعیت علاوه بر حس همدردی با اعضای تیم توسعه دهنده این پروژه چه میتوان کرد؟
...
در WCF به صورت پیش فرض متدها به صورت Request-Response هستند. این بدین معنی است که هر زمان درخواستی از سمت کلاینت به سرور ارسال شود تا زمانی که پاسخی از سمت سرور به کلاینت برگشت داده نشود، کلاینت منتظر خواهد ماند. برای مثال:
پروژه ای از نوع Wcf Service App میسازیم و یک سرویس با یک متد که خروجی آن نیز void است خواهیم داشت. به صورت زیر: [ServiceContract]
public interface ISampleService
{
[Operati ...
برای ساخت یک WCF Client یا دسترسی به یک سرویس WCF دو راه وجود دارد. استفاده از WCF Proxy استفاده از ChannelFactory قصد دارم طی یک مقایسه کوتاه این دو روش را بررسی کنیم: WCF Proxy: Proxy در واقع یک کلاس CLR است که به عنوان نماینده یک اینترفیس که از نوع Service Contract است مورد استفاده قرار میگیرد. یا به زبان ساده تر، یک Proxy در واقع نماینده Service Contract ای که سمت سرور پیاده سازی شده است در سمت کلاینت خواهد بود. P ...