Cóż, to zależy co masz na myśli przez „kopia”:
Z Publishing
masz opcje do pre-compile
całość lub część swojej aplikacji. Możesz publish
umieścić w lokalnym folderze w systemie plików (zamiast docelowego/hosta), a następnie skopiować zaktualizowany plik (i) (tylko). Jeśli zmieniasz kod "za" (C#/vb code), oznacza to, że prawdopodobnie będziesz musiał tylko "skopiować"/zastąpić dlls
. Nie trzeba dodawać, że jeśli wprowadziłeś zmiany "treści" (html/razor/script/etc), musisz je również skopiować/zastąpić.
Jeśli dopiero zaczynasz wdrażanie, możesz po prostu skopiować/nadpisać "wszystko" , co jest najbezpieczniejszym sposobem na przejście na. Gdy zdobędziesz więcej doświadczenia, "rozpoznasz" zasoby, które musisz zaktualizować (jeden lub kilka dlls
i/lub kod treści, zamiast "wszystko"). Nie ma w tym żadnej magii, zwykle jest to kwestia po prostu spojrzenia na znacznik czasu pliku dll/pliku po tym, jak masz published
(lokalnie) lub rebuild
swoją aplikację internetową.
Polecam wykonanie local publish
, dzięki czemu można zobaczyć, co jest rzeczywiście potrzebne na serwerze. Pliki publikowane w lokalnym systemie plików/folderze muszą znajdować się na twoim hoście/serwerze. Spowoduje to wizualizować i usunąć cokolwiek „tajemnica” nie jest Publishing
:
- zobaczysz co jest rzeczywiście potrzebne (na serwerze) w porównaniu do tego, co nie jest
- zobaczysz timesstamps który plików pomóc ci rozpoznać, które pliki zostały faktycznie zmienione w porównaniu z tymi, które nie zostały zmienione (i dlatego nie wymagają aktualizacji).
- Gdy już się go zawiesi, nie będziesz musiał "kopiować"/ftp "wszystkiego" i po prostu aktualizować pliki, które zostały zmodyfikowane (tylko).
So „kopia” może oznaczać wyżej, lub jeśli mówisz można po prostu skopiować cały kod rozwoju (surowe (vb/cs)html/cs/vb
) do hosta, to oznacza, że Twoja strona będzie dynamically compiled
jak potrzebna jest każdy zasób/requested (nic nie jest pre-compiled
). Również "łatwe", ale tracisz pre-compilation
, co oznacza, że istnieje opóźnienie, gdy każda twoja strona internetowa jest wymagana/potrzebna (ASP.net musi dynamicznie skompilować). Dodatkowo ujawniasz również kod źródłowy na serwerze. To może nie znaczyć wiele w zależności od twojej sytuacji, ale jest jeszcze jedna rzecz do rozważenia.
Oto więcej info on pre-compilation and options.
Publikowanie odbywa się również według typu aplikacji, którą wybierzesz do wdrożenia; aplikacja witryny sieci Web pozwala po prostu opublikować kilka plików w porównaniu do aplikacji sieci Web, w której zazwyczaj trzeba wdrożyć ASPX i odpowiednią bibliotekę DLL do odpowiednich folderów. Przeczytaj http://stackoverflow.com/questions/398037/asp-net-web-site-or-web-application, aby uzyskać więcej informacji. – dash
Dziękuję za komentarz. Ale to nie pomaga mi dokładnie. Na przykład, czy jest jakaś różnica w wydajności? Być może można to nazwać letnią opcją "Czy aplikacja internetowa zamiast publikować stronę internetową" –