فرض کنید که از یک برنامهی native ویندوز برای تهیه تصاویر سایتها در یک برنامهی وب استفاده میکنید و صبح که به سایت سر زدهاید پیام در دسترس نبودن سایت قابل مشاهده است. مشکل از کجا است؟!
یک مثال ساده using System;
namespace AccessViolationExceptionSample
{
class Program
{
private static unsafe void AccessViolation()
{
byte b = *(byte*)(8762765876);
}
...
در این مثال برای اینکه Instance Provider سفارشی خود را بتوانیم به عنوان یک Behavior به سرویس اضافه نماییم باید به خاصیت Description.Behaviors شی ServiceHost دسترسی داشته باشیم. زمانی که در پروژههای WCF از روش Self Hosting برای هاست سرویسها استفاده
کنیم به دلیل دسترسی مستقیم به شی ServiceHost هر گونه تنظیمات و عملیات
Customization به راحتی امکان پذیر است ؛ اما در IIS Hosting، از آن جا که به صورت پیش فرض از ServiceHostFactory مو ...
در قسمت قبلی مدیریت همزمانی در بروز رسانیها را بررسی کردیم. در این قسمت مرتب سازی (serialization) پراکسیها در سرویسهای WCF را بررسی خواهیم کرد. مرتب سازی پراکسیها در سرویسهای WCF فرض کنید یک پراکسی دینامیک (dynamic proxy) از یک کوئری دریافت کرده اید. حال میخواهید این پراکسی را در قالب یک آبجکت CLR سریال کنید. هنگامی که آبجکتهای موجودیت را بصورت POCO-based پیاده سازی میکنید، EF بصورت خودکار یک آبجکت دینامیک مشتق شده را در ...
در قسمت قبل رویکردهای مختلف برای حذف موجودیتهای منفصل را بررسی کردیم. در این قسمت مدیریت همزمانی یا Concurrency را بررسی خواهیم کرد.
فرض کنید میخواهیم مطمئن شویم که موجودیتی که توسط یک کلاینت WCF تغییر کرده است، تنها در صورتی بروز رسانی شود که شناسه (token) همزمانی آن تغییر نکرده باشد. به بیان دیگر شناسه ای که هنگام دریافت موجودیت بدست میآید، هنگام بروز رسانی باید مقداری یکسان داشته باشد.
مدل زیر را در ...
اگر قصد داشته باشیم که تزریق وابستگی (Dependency Injection) را برای سرویسهای WCF پیاده سازی کنیم نیاز به یک Instance Provider سفارشی داریم. در ابتدا باید سرویسهای مورد نظر را در یک Ioc Container رجیستر نماییم سپس با استفاده از InstanceProvider عملیات وهله سازی از سرویسها همراه با تزریق وابستگی انجام خواهد گرفت. فرض کنید سرویسی به صورت زیر داریم: [ServiceBehavior( IncludeExceptionDetailInFaults = true)]
public class BookSe ...
داشتن Urlهای تمیز و با معنا یکی از ویژگیهای یک سایت خوب هست و بهترین روش برای بازنویسی URLها یا همان Url Routing، استفاده از امکانات توکار خود ASP.Net برای این کار است. در یک مثال کوچک برای WebFormها این کار را بررسی خواهیم کرد.
ابتدا باید فضای نام System.Web.Routing را در فایل Global.asax اضافه کنیم . سپس توسط RouteTable.Routes.MapPageRoute در Application_Start میتوانیم الگوهای تبدیل Urlهای خود را بنویسیم. p ...
در قسمت قبل پیاده سازی change-tracking در سمت کلاینت توسط Web API را بررسی کردیم. در این قسمت نگاهی به حذف موجودیتهای منفصل یا disconnected خواهیم داشت. حذف موجودیتهای منفصل فرض کنید موجودیتی را از یک سرویس WCF دریافت کرده اید و میخواهید آن را برای حذف علامت گذاری کنید. مدل زیر را در نظر بگیرید. همانطور که میبینید مدل ما صورت حسابها و پرداختهای متناظر را ارائه میکند. در اپلیکیشن جاری یک سرویس WCF پیاده سازی کرده ا ...
در قسمت قبل تشخیص تغییرات توسط Web API را بررسی کردیم. در این قسمت نگاهی به پیاده سازی Change-tracking در سمت کلاینت خواهیم داشت. ردیابی تغییرات در سمت کلاینت توسط Web API فرض کنید میخواهیم از سرویسهای REST-based برای انجام عملیات CRUD روی یک Object graph استفاده کنیم. همچنین میخواهیم رویکردی در سمت کلاینت برای بروز رسانی کلاس موجودیتها پیاده سازی کنیم که قابل استفاده مجدد (reusable) باشد. علاوه بر این دسترسی دادهها توسط مد ...
چنانچه برای مدیریت پروژه از Team Foundation Server استفاده میکنید، صرف نظر از اینکه نسخه اکسپرس یا کامل آنرا روی سرور نصب کرده اید و یا از نسخه رایگانی که مایکروسافت در آدرس http://tfs.visualstudio.com در اختیار کاربران قرار داده استفاده میکنید، یقیناً میدانید که Backlog item و Work item میتوانند در وضعیتهای مختلفی قرار بگیرند. این وضعیتها بسته به متدلوژی مورد استفاده، از لحاظ تعداد و یا عنوان با یکدیگر متفاوتند.
...
در قسمت قبلی بروز رسانی موجودیتهای منفصل با WCF را بررسی کردیم. در این قسمت خواهیم دید چگونه میتوان تغییرات موجودیتها را تشخیص داد و عملیات CRUD را روی یک Object Graph اجرا کرد. تشخیص تغییرات با Web API فرض کنید میخواهیم از سرویسهای Web API برای انجام عملیات CRUD استفاده کنیم، اما بدون آنکه برای هر موجودیت متدهایی مجزا تعریف کنیم. به بیان دیگر میخواهیم عملیات مذکور را روی یک Object Graph انجام دهیم. مدیریت دادهها هم با مدل C ...