views:

278

answers:

1

When you deploy an application to IIS without all files that contains code (VB/C#) then how exactly are events & all things handled?

+3  A: 

The VB or C# compiler compiles the ASPX pages and classes in App_Code into runtime binary DLLs. For Web projects, the DLLs get created each time you build the project; for Websites, the DLLs get created in a temp folder under c:\Windows. Maybe this is what's confusing you--you don't see the DLLs for Websites until you do Build>Publish Web Site step.

If you deploy a Website without first publishing it, mysteriously it runs! That's because the ASP.NET process implicitly calls the compiler to create the corresponding DLLs for each ASPX page.

You can prove this behavior by creating a virtual directory on your developer box over the development root of the Website. Then launch a page with http://localhost/yourappname/yourpagename.aspx. It runs! With no DLLs! They are in a project folder under C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files.

More on the publish process: http://msdn.microsoft.com/en-us/library/1y1404zt(VS.80).aspx

In either case, once compiled, the ASP.NET lifecycle kicks in and raises events as they occur. See these links for more on that process:

http://msdn.microsoft.com/en-us/library/ms227435.aspx

http://msdn.microsoft.com/en-us/library/ms178472.aspx

rp