ASP.NET codebehind i słowa eksperta Microsoftu

0

Witam wszystkich.

Mam pytanie w związku z technologią ASP.NET wykonywania stron internetowych.
Otóż stworzyłem plik .aspx w którym odwołuję się do pliku .aspx.cs wskazanego przez "Codebehind".

W chwili gdy klient łączy się po raz pierwszy z serwerem, środowisko uruchomieniowe serwera tworzy całkiem nowy pakiet .dll w którym umieszcza stronę wraz z logiką zaprojektowaną w pliku .aspx.cs i wysyła protokołem HTTP do kleinta w odpowiedzi.

Środowisko framework klienta analizuje ten pakiet i wyświetla stronę wraz z jej dynamicznie utworzoną zawartością.

Jak to się ma do tego co pisze ekspert microsoftu:

CodeBehind: Needs to be compiled (ASP.NET 1.1 model). The compiled binary is placed in the bin folder of the website. You need to do a compile in Visual Studio before you deploy. It's a good model when you don't want the source code to be viewable as plain text. For example when delivering to a customer to whom you don't have an obligation to provide code.

??

dodanie znacznika <quote> - @furious programming

0

klientowi wysyłasz tylko ten .dll

2

Są jakby dwa typy projektów ASP.NET: Web Site i Web Application.
Web Site polega na tym, że na serwerze masz pliki aspx, a w katalogu AppCode masz pliki *.cs, które są kompilowane gdy są pierwszy raz potrzebne. Kod możesz edytować na serwerze i zmiany od razu działają.
Web Application jest normalnie kompilowane, wiec na serwerze masz pliki aspx oraz pliki *.dll w katalogu bin. W tym wypadku każda zmiana w kodzie wynika ponownej kompilacji i skopiowania plików na serwer.

0

Dzięki za odpowiedzi.

OK. Mamy dwa typy projektów : WebApplication i WebSite. Różnią się tym kiedy kod ujęty w dyrektywie "CodeBehind" będzie kompilowany, dla WebApplication musi być skompilowany przed publikacją strony na serwerze, dla WebSite środowisko sobie skompiluje pliki w chwili gdy wystąpi taka konieczność (np. żądanie pokazania danej strony wykorzystującej logikę zawartą właśnie w tych plikach .cs). To jest jasne.

Przejdźmy teraz do dyrektyw "Codebehind" Vs "CodeFile". Ekspert pisze:

CodeBehind: Needs to be compiled (ASP.NET 1.1 model). The compiled binary is placed in the bin folder of the website. You need to do a compile in Visual Studio before you deploy. It's a good model when you don't want the source code to be viewable as plain text. For example when delivering to a customer to whom you don't have an obligation to provide code.

CodeFile: You provide the source file with the solution for deployment. ASP.NET 2.0 runtime compiles the code when needed. The compiled files are at Microsoft.NET[.NET version]\Temporary ASP.NET Files

Czy mam rozumieć że stosowanie zapisów CodeFile lub Codebehind w dyrektywie @Page zależy właśnie od tego czy pracujemy w projekcie WebSite czy też WebApplication ? Czy też może to w ogóle nie ma związku z rodzajem projektu w którym pracujemy.
Proszę jakiś ekspertów o wyjaśnienie. :)

dodanie znacznika <quote> - @furious programming

1
Adamos19 napisał(a):

Czy mam rozumieć że stosowanie zapisów CodeFile lub Codebehind w dyrektywie @Page zależy właśnie od tego czy pracujemy w projekcie WebSite czy też WebApplication ?

Tak, dobrze rozumiesz.

1
somekind napisał(a):

Są jakby dwa typy projektów ASP.NET: Web Site i Web Application.

Pozwolę sobie tylko dodać jeszcze stosownego linka http://msdn.microsoft.com/en-us/library/dd547590(v=vs.110).aspx , gdyby autor wątku chciał poczytać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1