StateServer
با در نظر گرفتن مقدار فوق برای خصلت mode ، از یک سرویس ویندوز جداگانه برای مدیریت state استفاده می گردد . سرویس فوق بر روی سرویس دهنده مشابه اجراء می گردد ولی در خارج از پردازه اصلی ASP.NET قرار می گیرد . رویکرد فوق دارای مزایا و معایب مختص به خود می باشد . مهمترین مزیت استفاده از یک سرویس دهنده دیگر برای ذخیره اطلاعات session ، عدم وابستگی آن به پردازه ASP.NET است . در چنین مواردی با راه اندازی مجدد پردازه ASP.NET ( به هر دلیل ) ، اختلالی در داده ذخیره شده در session ایجاد نخواهد شد چراکه آنها در یک سرویس دهنده جداگانه نگهداری شده اند . از مهمترین معایب و یا بهتر بگوئیم محدودیت های رویکرد فوق ، افزایش تاخیر زمانی در زمان ارسال اطلاعات session بین دو پردازه است . بدیهی است در صورتی که فرکانس دستیابی و تغییر اطلاعات ذخیره شده در session بالا باشد ، سرعت و کارآئی یک برنامه وب کاهش می یابد.
در زمان استفاده از StateServer ، می بایست مقدار stateConnectionString را مشخص کرد . پارامتر فوق ، آدرس IP کامپیوتری را که بر روی آن سرویس StateServer اجراء شده است را به همراه شماره پورت مربوطه مشخص می نماید ( شماره پورت توسط ASP.NET تعیین می گردد و معمولا” لزومی به تغییر آن وجود ندارد ) . بدین ترتیب ، می توان StateServer را بر روی کامپیوتر دیگر هاست کرد . در صورتی که قصد تغییر تنظیمات پیش فرض را نداشته باشیم ، از سرویس دهنده محلی استفاده خواهد شد ( با آدرس IP : 127.0.0.1 ) .
قبل از این که برنامه وب بتواند از سرویس فوق استفاده نماید ، می بایست آن را اجراء کرد . ساده ترین روش برای انجام این کار انتخاب گزینه Services از طریق Control Panel است . با مشاهده ASP.NET State Service در لیست سرویس ها ، می توان نحوه اجراء آن را مشخص نمود ( بطور اتوماتیک ) .
در مواردی که از StateServer استفاده می گردد ، می توان برای خصلت اختیاری stateNetworkTimeout یک مقدار را مشخص نمود . پارامتر فوق ، حداکثر مدت زمان انتظار برای پاسخ سرویس دهنده بر حسب ثانیه را مشخص می نماید . مقدار گزینه پیش فرض ، ۱۰ ثانیه است .