خطای آخری رو که ارسال کردید اینجا توضیح داده شده: http://support.microsoft.com/kb/2015129
خلاصهاش اینکه باید دستور aspnet_regiis.exe /iru رو در خط فرمان اجرا کنید. محل قرارگیری برنامه aspnet_regiis.exe در پوشه ویندوز هست (فایلها رو جستجو کنید تا یافت بشه).
- اگر به خطایی برخوردید در این بین، عین خطا را ارسال کنید تا بیشتر بشود بحث کرد.
ممنون از شما. فقط یک نکتهی کوچک در مورد memory stream هست که بهتره درنظر گرفته بشه. در این شیء متدهای ToArray و GetBuffer یکی نیستند. متد GetBuffer حجمی نزدیک به 2 برابر آرایه اصلی رو عموما داره و انتهاش یک سری بایتهای اضافی هم شاید باشند. اما ToArray اصل دیتا رو بر میگردونه.
Note that the buffer contains allocated bytes which might be unused. For example, if the string "test" is written into the MemoryStream object, the length of the buffer returned from GetBuffer is 256, not 4, with 252 bytes unused. To obtain only the data in the buffer, use the ToArray method; however, ToArray creates a copy of the data in memory.
میتونید محل ذخیره سشن رو بجای حافظه، یک بانک اطلاعاتی SQL Server تعیین کنید: http://support.microsoft.com/kb/317604
یا اخیرا بجای SQL Server از بانکهای اطلاعاتی NoSQL از نوع key/value store هم برای اینکار استفاده میکنند: ASP.NET Session State Provider for Redis
اگر از IE استفاده کنید، مشکلی نباید باشه. چون IE با سیستم اعتبارسنجی مبتنی بر ویندوز یکپارچه هست. اگر با IE صفحه لاگین مرورگر باز میشه، به تنظیمات امنیتی اون مراجعه کنید و سایت رو در قسمت trusted sites اضافه کنید: http://support.microsoft.com/kb/258063
سمت سرور هم باید در تنظیمات IIS، گزینهی اعتبارسنجی مبتنی بر ویندوز فعال باشه: