Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Кеширование компонента VB ASP.NET v.2


Автор: podlom 12.5.2011, 17:11
У меня возникла проблема со кодом VB в Microsoft .NET Framework Version:2.0.50727.3620; ASP.NET Version:2.0.50727.3618

С VB в ASP.NET раньше никогда не сталкивался.
Вопрос совершенно ламерский, но ответа пока что не могу нигде найти.

У меня есть один файл с расширением .vb, который находится в корне сайта.

В нем есть такой код:

Код

Public Class dataExtract
'...
Public Function getItemPrice(ByVal cCode As String) As Double
'...
Dim iPrice As Double = 6.99
If cCode <> "US" Then
iPrice = 8.99
End If
'...
Return iPrice
End Function
'...


Я поменял в функции значения iPrice:

Код

'...
Public Function getItemPrice(ByVal cCode As String) As Double
'...
Dim iPrice As Double = 8.99
If cCode <> "US" Then
iPrice = 10.99
End If
'...
Return iPrice
End Function
'...


и загрузил новую версию файла по FTP на сервер.

Так же есть CodeBehind="default_test.aspx.vb" файл c таким кодом:

Код

'...
        If Not Page.IsPostBack Then

            Dim priceData As New dataExtract
            itemPrice = priceData.getItemPrice(Session("CountryCode"))
'...
        End If
'...


А так же главная страница с вызовом:

Код

'...
<%=String.Format("{0:F2}", itemPrice)%>
'...


Почему-то отображается старое значение iPrice при любом значении CountryCode.

Сущесвует ли в IIS какой-то механизм кеширования кода VB ASP.NET?
Как можно заставить сервер IIS отобразить новые значения itemPrice?

Автор: ReFleX 12.5.2011, 17:20
Пересохрани Web.Config

Добавлено через 1 минуту и 16 секунд
Или создай файл в корне сайта: App_Offline.htm
Потом открой сайт, пото удали файл App_Offline.htm и заново refresh страницу

Автор: podlom 12.5.2011, 17:37
Цитата(ReFleX @ 12.5.2011,  17:20)
Пересохрани Web.Config

Добавлено @ 17:21
Или создай файл в корне сайта: App_Offline.htm
Потом открой сайт, пото удали файл App_Offline.htm и заново refresh страницу

Спасибо, ReFleX

1. Пересохрани Web.Config
Пробовал еще вчера перезаливать Web.Config по FTP.

2. Создал файл App_Offline.htm, залил его на сервер по FTP, увидел его содержимое вместо /default.aspx.
Удалил App_Offline.htm с сервера.
По-прежнему отображается старое значение.

Может быть мне нужно каким-то образом перекомпилировать его?

Автор: WarHog 12.5.2011, 22:43
Цитата

Может быть мне нужно каким-то образом перекомпилировать его?

ASP .Net сам перекомпилить должен при обновлении файла

Цитата

Как можно заставить сервер IIS отобразить новые значения itemPrice?

Если есть возможность, очисти кэш IIS'а, тогда ASP .Net точно перекомпилирует твой заново залитый файл

Автор: podlom 13.5.2011, 18:31
WarHog,

Каким образом можно очистить кеш IIS?

В IIS Manager? Если да, то где именно? Я в свойствах веб сайта не нашел таких опций.

Если нужно выполнить какую-то команду для очистки, то какую?

Автор: WarHog 13.5.2011, 19:42
Цитата

Если нужно выполнить какую-то команду для очистки, то какую? 

iisreset попробуй - это приведет к рестарту ииса и должно очистить кэш.

если нет - попробуй удалить руками, если есть возможность  smile

Автор: podlom 13.5.2011, 20:54
WarHog,

выполнил я
>iisreset

Attempting stop...
Internet services successfully stopped
Attempting start...
Internet services successfully restarted

После перезапуска вижу все те же старые данные :(

Автор: WarHog 13.5.2011, 23:54
ну попробуй брутальный вариант - удали руками нужную папку в Temporary ASP.NET Files - она по адресу
[Windows Directory]\Microsoft.NET\Framework\[Version]\Temporary ASP.NET Files\[Нужная тебе папка]

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)