‫چند نکته در باب WCF

WCF هم مثل هر تکنولوژی و سکوی جدیدی با تعدادی نکته همراه است. به نکات زیر دقت کنید:

عدم دسترسی به HttpCpntext
ممکن است حین کار با WCF نیاز به HttpContext.Current.Request یا غیر داشته باشید. این نیاز وقتی که سرویس WCFتان در IIS میزبانی می‌شود بیشتر هم می‌شود. متاسفانه HttpContext.Current در داخل یک سرویس WCF همواره null است چون اصولاً یک سرویس WCF ربطی به Http ندارد. در WCF باید به جای HttpContext از OperationContext.Current استفاده کرد.

آدرس خالی
لزومی ندارد که همیشه اسم یا IP سرویس دهنده در config مربوط به سرویس دهنده مشخص شود. بیشتر وقت‌ها می‌توان بخش address مربوط به endpoint را خالی گذاشت.
امکان مشاهده پیغام خطای رخ داده در سرور WCF
برنامه‌های ASP.NET را می‌شد طوری در سرور تنظیم کرد که اگر خطایی رخ داد به کاربر هیچ چیزی از خطا نمایش داده نشود یا این که بشود. همین کار را می‌توان در config سرور WCF با استفاده از <servicedebug includeexceptiondetailinfaults=”true” > انجام داد.

مشکل در WCF RSS در سرویس‌های WCF که مثل RSS به نوعی با وب سر و کار دارند ممکن است لازم شود نوع binding به صورت webHttpBinding تعریف شود. لینک

‫تولید Feed با استفاده WCF

مطمئناً برای تولید Feedهای RSS یا ATOM در ASP.NET راه‌ها و کدهای زیادی وجود دارد. اما یکی از راه‌های جالب تولید Feed در دات‌نت، استفاده از WCF است. WCF با استفاده از چند خط کد ساده برای شما Feed می‌سازد.

سرویس‌های Feed معمولاً در برنامه‌های تحت وب که در IIS اجرا می‌شوند قرار داده می‌شوند. بنابراین باید سرویس WCF را در فایل‌های ‎.svc قرار داد. اگر سرویس در یک host با دسترسی خیلی پایین مثل سایت‌های اینترنتی قرار داشته باشد نمی‌توان از کلاس ServiceHost استفاده کرد. بنابراین باز هم باید از فایل‌های ‎.svc که توسط IIS میزبانی (host) می‌شوند استفاده کرد. خوشبختانه امکانات اصلی WCF از نسخه ۳٫۵ دات‌نت در دسترس هستند و از آنجا که دات‌نت ۳٫۵ روی runtime نسخه ۲ دات‌نت هم کار می‌کند بنابراین مشکلی در سرورهای ویندوز ۲۰۰۳ و IISهای قبل از نسخه ۷ هم وجود ندارد.

جهت کسب اطلاعات بیشتر به MSDN مراجعه کنید. در صورت استفاده از IIS بایستی از webHttpBinding به عنوان binding استفاده کرد.

‫مشکل با FeedBurner

مدت خیلی زیادی بود که نمایشگر فید وبلاگم از کار افتاده بود. با Google Reader هم نمی‌شود فید آن را مشترک شد. حتی با فیدهای دیگری هم که قبلاً در Google Readerم هم موجود بود مشکل پیدا کرده بودم. علت موضوع را تا حد زیادی می‌دانستم اما نمی‌دانستم که قابل درمان است. دیروز به طور اتفاقی جستجوی کوچکی در این باره کردم و راه حل را در «داناترین» و «آر2جی بلاگ» پیدا کردم. به همین جهت در تنظیمات وبلاگم آدرس http://feeds.feedburner.com/afsharm را با http://feeds2.feedburner.com/afsharm عوض کردم. امیدوارم مشکلی برای فیدخوان‌ها به وجود نیاید.