Olá Felipe,
Conceituando:
Ghosted pages: páginas que estão no sistema de arquivos e não no conteúdo db.
Unghosted pages:páginas que estão no conteúdo db.
Application Pages: páginas normais asp.Net armazenados no sistema de arquivos.
Site Pages: páginas de conteúdo normais armazenados em dB.
As Applications Pages, sempre vão ser Ghosted pages, já as sites pages podem ser Ghosted ou Unghosted.
Ghosted: LayoutsPageBase é bom exemplo. Quando qualquer página criada com esta classe base (também chamada de páginas de layout ou páginas de modelo) e se for implantado _layout MeuCaminho, tem presença física no sistema de arquivo (c:\program
files\common files\microsoft shared\web server extensions\xx\TEMPLATE\LAYOUTS). Então VPP cria instância da página e armazena-lo no banco de dados.
Unghosted: Quando layouts de páginas carrega VPP de conteúdo banco de dados (instância da página).
VPP (Virtual Path Provider): Faz ambos os trabalhos (Ghosted e unghosted) para o pedido único da página. Primeiro ele lê a página de modelo (Ghosted), segundo se lê instância de página (unghosted) e, em seguida, combina as duas partes e
renderizar a página.
Meio confuso né? Nem tanto, vamos ima o seguinte cenário:
Eu tenho uma organização de notícias. Eu criei layout de página personalizada para listar todas as minhas novidades. Na minha empresa, o editor de notícias tem a responsabilidade de gerar a página lista de notícias, seria mais ou menos assim: mycompanyListPage
----> Provisioned ----> mycompanyListPageA, mycompanyListPageB, mycompanyListPageC .
Aqui, mycompanyListPage é PageLayout e anexado A, B, C são exemplos de páginas criadas pelo editor de notícias usando o modelo mycompanyListPage.
Se você quiser uma página de provisão dentro de uma biblioteca de documentos, em seguida, usar a linha de baixo.
<File
Url="mycompanyListPage.aspx"
Name="mycompanyListPageA.aspx"
Type="GhostableInLibrary"
/
Se você quiser uma página de provisão de sistema de arquivo (caminho físico), em seguida, use a de baixo. É como
GhostableInFileSystem.
<File Url="mycompanyListPage.aspx" Name="mycompanyListPageA.aspx" Type="Ghostable" />
Nos dois casos mycompanyListPage.aspx é Ghostable e mycompanyListPageA.aspx é unghostable.
Se tiver mais duvidas:
http://sharepoint.stackexchange.com/questions/59798/understanding-ghosting-unghosting-site-pages-and-application-pages
Abraços.