I google this problem for a while and find out that answers can be variable.
so i list some solution found in net.
if you interest to have a quick view about skeleton and how is app pool works in iis
go here.
When this issue were happen take look to iis log may found some clue.
some solutions that people who finally solved they problems here:
Reinstall dot net for iis
c:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe
- Open a command prompt
- Stop IIS: iisreset /stop
- Change to the .NET Framework 2.0 root directory: C:\winnt\Microsoft.Net\Framework\v2.0.50727\
- Reinstall ASP.NET 2.0 : aspnet_regiis -i .
- Start IIS again after it has been run: iisreset /start
IIS had not been granted write permissions on the log directory in C:\Windows\System32\Logfiles! I gave IUSR_, IWAM_ and ASPNET write permissions on that directory.
I used aspnet_regiis -ga domain\processusername
This resolved the issue listed above by authorising the ASP.NET process defined in the Machine.config to the IIS Metadata.
Virtual dir Files copy may cause a permission problem, make sure files in virtual dir haveproper proper permission in this two accounts IUSR_xxxx and IWAM_xxxx