2009-09-21 27 views
17

Jeśli prekompilujesz stronę internetową i będziesz mógł ją aktualizować, parser ASP.NET może zobaczyć na podstawie dyrektywy Page, że nie ma pliku codefile lub codebehind i gdzie można znaleźć klasę podstawową (atrybut inherits).Jaki jest cel preompompiledApp.config?

<%@ page language="C#" autoeventwireup="true" inherits="_Default, Precompiled" 
    theme="Default" validaterequest="false" %> 

Jeśli witryna jest skompilowany i nie mogą być aktualizowane, gdy .compiled pliki w folderze bin powinien dać runtime ASP.NET cały necesary informacje na temat wystąpienia klas stron.

Dlaczego więc precompompiledApp.config potrzebne?

Dzięki!

Odpowiedz

12

Służy do wskazywania, czy strony ASPX/ASCX w witrynie można aktualizować, czy też nie. Możesz wstępnie skompilować i skompilować kod, ale pozostaw te strony do aktualizacji, abyś mógł wprowadzić drobne usprawnienia związane z GUI.

+0

Rozumiem pojęcie prekompilacji i opcji aktualizowalnej. Ale dlaczego potrzebny jest plik precompiledApp.config? –

+3

Ponieważ program ASP.NET domyślnie spróbuje skompilować wszystkie pliki (łącznie z kodami) w katalogu żądania strony .ASPX wraz z kodem App_Code i ponad plikami oznaczonymi jako zbudowane, jeśli nie znajdzie tego pliku. Jeśli znajdzie plik .precompiledApp.config, zajrzy do niego i zdecyduje, czy nadal będzie kompilować pliki ASPX, ponieważ mogą one być aktualizowane. –

+1

Na podstawie niektórych eksperymentów uważam, że plik nie służy. Możesz wstępnie skompilować witrynę, zezwolić jej na aktualizację, a następnie zastąpić jedną stronę oryginałem, w tym jego plikiem kodowym, a oba zostaną skompilowane. PrekompiledApp.config nie określa, czy kompilowane są strony, czy nie, ale wydaje się, że jest to określane tylko na podstawie dyrektywy strona. Może się różnić, gdy aktualizowalna jest wartość false, ale tego nie przetestowałem. –