2013-04-25 19 views
6

Pracuję nad nową witryną intranetową od kilku tygodni i wszystko działa zgodnie z oczekiwaniami. Jeśli wprowadziłem jakieś zmiany (dodałem surowy tekst, nowe kontrolki itp.) Do moich stron .aspx, a następnie przetestowałem je w VS (F5), wszystkie zmiany zostałyby natychmiast odzwierciedlone w przeglądarce. Coś tak prostego jak dodanie znacznika <br> lub złożonego, jak dodanie zestawu zagnieżdżonych elementów sterujących, pojawi się po ponownym uruchomieniu debugowania.Strony witryny ASP.NET nie odzwierciedlają najnowszych zmian.

Wcześniej dzisiaj wszystko działało. Potem zdecydowałem, że chcę trochę pograć z niektórymi gadżetami AjaxControlToolkit. Skończyło się na instalacji aktualizacji SP1 Update 2 dla VS, która została wydana dzisiaj (http://www.microsoft.com/en-us/download/details.aspx?id=38188), podczas gdy ja byłem na niej, a także aktualizacji NuGet i instalacji AjaxControlToolkit stamtąd.

Dodałem kilka narzędzi, w tym ScriptManager i UpdatePanel, i wszystko działało zgodnie z oczekiwaniami. Następnie podjąłem kilka zmian i dodałem przypadkowo ScriptManager. Kiedy poszedłem do debugowania/uruchomienia, oczywiście nie udało się, ponieważ nie można mieć więcej niż jednego na stronie, więc usunąłem dodatkowy i uruchomiłem ponownie. Ponownie dał tę samą porażkę. Przeszedłem i upewniłem się, że przypadkiem nie dodałem gdzieś innego, przeszukałem wszystkie pliki w moim projekcie i było to jedyne jego wystąpienie, więc skomentowałem to i uruchomiłem ponownie. Ta sama rzecz. Próbowałem kilku rzeczy i skończyło się ponowne uruchamianie usług IIS i VS, a następnie strona zachowywała się zgodnie z oczekiwaniami.

Od tego momentu wszelkie zmiany wprowadzone w DOWOLNYCH moich plikach w projekcie nie są już aktualizowane bez zamykania usług IIS i ponownego uruchamiania. Nowe, bardzo podstawowe pliki aspx lub html w projekcie robią to samo. Następnie wróciłem do punktu przywracania przed aktualizacją VS i użyłem kopii zapasowej mojej witryny z wcześniejszego dnia przed dodaniem AjaxControlToolkit, a mimo to problem nadal występuje.

Co się tutaj dzieje? Mam wrażenie, że jest on powiązany z aktualizacją VS, ale to naprawdę nie ma sensu. Nie widzę tak dużego błędu, który został przeoczony? Dlaczego usługi IIS nie obsługują zaktualizowanej strony?

Ctrl + F5 w przeglądarce nie odzwierciedla zmian. Przebudowanie całego rozwiązania nie odzwierciedla zmian. Zamykanie i ponowne otwieranie przeglądarki nie odzwierciedla zmian. Zmiana mojego pliku web.config nie odzwierciedla zmian. Stworzenie zupełnie nowej pustej strony internetowej i problem nadal występuje. Przejdź do programu Visual Studio Development Server zamiast IIS, problem będzie nadal występował.

Jedyny sposób, w jaki znalazłem wymuszenie poprawnej, zaktualizowanej strony, aby prawidłowo wyświetlać, to "Zatrzymaj witrynę" w IIS, a następnie uruchom ponownie, co jest po prostu zbyt dużym wysiłkiem, aby sprawdzić drobne zmiany w cokolwiek na mojej stronie .

Korzystam z Visual Studio 2012 Express, IIS Express, .NET 4.0, C# z tyłu kodu, pliki są w intranetowym systemie plików (mapowane na x :), oddzielone od mojego rzeczywistego serwera hostingowego.

wszelki wypadek (choć nie sądzę, jest to ważne, ponieważ problem jest obecnie występujący nawet ze świeżym stronie internetowej) tu jest moje web.config (co jest bardzo podstawowy):

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    <customErrors mode="Off" /> 
    <httpRuntime /> 
    <pages> 
     <controls> 
     <add tagPrefix="ttw" src="~/Controls/CustomerInformation.ascx" tagName="CustInfo" /> 
     <add tagPrefix="ttw" src="~/Controls/CircuitInformation.ascx" tagName="CktInfo" /> 
     </controls> 
    </pages> 
    </system.web> 
    <system.webServer> 
    <httpProtocol> 
     <customHeaders> 
     <add name="X-UA-Compatible" value="IE=EmulateIE9" /> 
     </customHeaders> 
    </httpProtocol> 
    </system.webServer> 
</configuration> 

Wszelkie sugestie byłyby bardzo mile widziane i mam nadzieję, że rozwiązanie pomoże innym, którzy mogą mieć ten sam problem po ostatniej aktualizacji.

+1

Spróbuj usunąć tymczasowe pliki ASP.NET w folderze Microsoft.Net w systemie Windows. Nie używaj linku pod ręką, ale idź do google i znajdź odpowiedni sposób na poradzenie sobie z tym. Przepraszam, w pośpiechu, muszę iść. Powodzenia!! – Jaxidian

+0

Nie działa w Express, ale jeśli możesz rozszerzyć nieco więcej na * 'Używam Visual Studio 2012 Express, IIS Express, .NET 4.0, C-Code-behind, pliki są w intranetowym systemie plików (mapowane do x :), oddziela się od mojego faktycznego serwera hostingowego? *? W jaki sposób można zaktualizować aplikację (kod bin)? Być może uruchamiasz oryginalny wdrożony kod? Strona internetowa a aplikacja internetowa? W jaki sposób publikujesz/wdrażasz? – EdSF

+0

@EdSF Przesyłam do serwera produkcyjnego za pomocą narzędzia Kopiuj serwis WWW w Visual Studio. W tym scenariuszu nie ma to większego znaczenia, ponieważ nie próbuję docierać do serwera prod, dopóki strona nie zostanie przetestowana i nawet nie doszedłem do tego punktu, ponieważ ten problem pojawił się dzisiaj. Rozpoczął od pustej strony internetowej, używając tylko formularzy internetowych ASPX. – Chris

Odpowiedz

0

Brzmi jak problem uprawnień. Zmapowany dysk sieciowy używa poświadczeń, które nie mają odpowiednich uprawnień lub tożsamość puli aplikacji IIS nie ma uprawnień do folderu.

Powiązane problemy