مطالب
WCF Method Overloading
تشریح مسئله : چگونه متد‌های سرویس WCF را Overload کنیم.

نکته : آشنایی با مفاهیم اولیه WFC برای فهم بهتر مفاهیم الزامی است.

همانطور که می‌دانیم امکان Overload کردن متد‌ها در سرویس‌های WCF وجود ندارد. یعنی نمی‌توان 2 متد با نام و پارامتر‌های متفاوت داشت. به مثال زیر دقت کنید.
ابتدا یک Contract به صورت زیر تعریف کنید
 [ServiceContract]
    public interface ISampleService
    {
        [OperationContract]
        int Sum( int number1, int number2 );

        [OperationContract]
        float Sum( float number1, float number2 );
    }
در Contract بالا دو متد با یک نام ولی آرگومان‌های متفاوت داریم. حالا یک سرویس برای این Contract می‌نویسیم.
   public class SampleService : ISampleService
    {
        public int Sum( int number1, int number2 )
        {
            return number1 + number1;
        }

        public float Sum( float number1, float number2 )
        {
            return number1 + number1;
        }
    }
اگر پروژه را کامپایل کنید پروژه بدون هیچ گونه مشکلی کامپایل خواهد شد. ولی اگر قصد استفاده از این سرویس را داشته باشیم با خطا روبرو خواهیم شد. از روش AddServiceReference استفاده کنید و سرویس مورد نظر را سمت کلاینت اضافه کنید. با خطای زیر روبرو خواهید شد.
Cannot have two operations in the same contract with the same name, 
methods Sum and Sum in type Service.ISampleService violate this rule. 
You can change the name of one of the operations by changing the method name 
or by using the Name property of OperationContractAttribute.
در این خطا به صورت کامل روش حل این مسئله گفته شده است. برای حل این مسئله باید از خاصین Name در OperationContractAttribute استفاده کرد. Contract بالا را به صورت زیر تغییر دهید.
[ServiceContract]
    public interface ISampleService
    {
        [OperationContract( Name = "SumByIntNumbers" )]
        int Sum( int number1, int number2 );

        [OperationContract( Name = "SumByFloatNumbers" )]
        float Sum( float number1, float number2 );
    }
حال اگر سرویس مورد نظر را به پروژه سمت کلاینت اضافه کنیم دو متد با نام‌های SumByIntNumbers و SumByFloatNumbers خواهیم داشت. البته اگر از روش Self Hosted استفاده کنیم دقیقا دو متد با نام Sum خواهیم داشت و Overloading را سمت سرور و کلاینت خواهیم داشت ولی در روش IIS Hosting و استفاده از AddServiceReference  از خاصیت Name برای این کار استفاده میشود.

موفق باشید.
نظرات اشتراک‌ها
10 دلیل برای اینکه برنامه نویس‌های وب باید AngularJS را فرا بگیرند
مسلما نیاز به تیم قوی‌تری نسبت به روش‌های متداول توسعه برنامه‌های وب دارد. دانش بالاتری از جاوا اسکریپت را نیاز دارد. به علت تازگی، دانش فنی چندانی از آن نسبت به سایر روش‌ها منتشر نشده‌است و تعداد کمتری به آن مشغول هستند.
نظرات مشابهی در این مورد:
SPA سخت است و همیشه خواهد بود!
مالیات SPA
اشتراک‌ها
توصیف مهندسین نرم افزار (SWE)

چه تفاوتی بین "مهندس نرم افزار" و "مهندس ارشد نرم افزار" وجود دارد؟

آیا SWE ارشد در یک شرکت بهتر از SWE ساده در شرکت دیگر است؟

مشکل عناوینی مانند: "SWE" و "Senior SWE" این است که هیچ قرارداد استانداردی در مورد معنای آنها وجود ندارد. از نظر فنی، هرکسی می‌تواند از هر عنوانی استفاده کند! 

توصیف مهندسین نرم افزار (SWE)
اشتراک‌ها
بدهی فنی – Technical debt

برنامه نویس تمام تلاش خود را می‌کند تا بهترین کد را از ابتدا بنویسد. احتمالاً هیچ برنامه نویسی نیست که عمداً کد ناخوشایند و به ضرر پروژه بنویسد. اما در چه مرحله ای کد تمیز، کثیف می‌شود؟ استعاره “بدهی فنی” در مورد کد بد در ابتدا توسط Ward Cunningham پیشنهاد شده. اگر از یک بانک وام دریافت کنید، به شما این امکان را می‌دهد  ...

بدهی فنی – Technical debt
اشتراک‌ها
Heartbleed به معنای زیر سؤال رفتن امنیت در دنیای سورس باز است
تصور عمومی در پروژه‌های سورس باز این است که چشمان باز بسیاری می‌توانند جزئیات این نوع پروژه‌ها را بررسی و رفع مشکل کنند. اما باگ Heartbleed در یک پروژه‌ی بسیار معروف و پرکاربرد، از سال 2011 در مقابل چشمان بسیاری قرار داشته و در جهت یافتن یا رفع آن، اتفاق خاصی هم رخ نداده است ...
جزئیات فنی این باگ
Heartbleed به معنای زیر سؤال رفتن امنیت در دنیای سورس باز است
نظرات مطالب
EF Code First #12
- مطالب تکمیلی تزریق وابستگی‌ها را در دوره‌ی «بررسی مفاهیم معکوس سازی وابستگی‌ها و ابزارهای مرتبط با آن» پیگیری کنید.
- همچنین در مطلب «آناتومی یک گزارش خطای خوب» با کلیات مفیدی در مورد با جزئیات فنی بحث کردن، آشنا خواهید شد.  
نظرات مطالب
صفحه بندی و مرتب سازی خودکار اطلاعات به کمک jqGrid در ASP.NET MVC
- مثال کامل بحث در انتهای آن پیوست شده‌است. کار خودتان را با آن مطابقت دهید.
- همچنین نیاز است با مباحث دیباگ اسکریپت‌ها آشنا باشید. اطلاعات بیشتر
+ آشنایی با نحوه‌ی صحیح طرح یک سؤال فنی هم در تمام سایت‌ها راهگشا است. اطلاعات بیشتر
نظرات مطالب
راحت بگویید نه!
دقیقاً! ما نیز موافق هستیم: "تغییر در چهره "، " افزایش و بور زدن  کاغذها "، " توضیح فنی ممنوع " و ... همینطوریش هم "برنامه نویس = جمع گریز و پرمدعا"! کافیه اینکارها رو هم بکنیم، بشیم مصداق کامل شاهزادۀ ماکیاولی :(
نظرات مطالب
Senior Developer به چه کسی گفته می شود؟
یک کار بهتر بجای این سؤال و جواب‌ها یا مشاهده رزومه می‌تونه مراجعه به پروژه‌های سورس باز یک شخص باشه و بررسی کیفیت کدهای نوشته شده او. اصلا یکی از اهداف کارهای سورس باز نمایش توانمندی‌های فنی افراد است.