Я использую элемент управления asp: Timer для опроса службы каждые 10 секунд.
Я знаю, что таймер работает так, как будто я закомментирую вызов службы, время прекрасно обновит панель.
Однако, когда сервисный вызов включен, таймер обновит панель несколько раз правильно, но затем начнет зависать.
Я полагаю, что это связано с тем, что у службы есть узкое место, но служба просто возвращает список проектов.
Вот код на каждом уровне:
ASP.Net
<asp:UpdatePanel ID="pnlProjectList" runat="server">
<ContentTemplate>
<asp:Timer id="updateTimer" Interval="10000" runat="server"
ontick="updateTimer_Tick">
</asp:Timer>
C # код страницы позади
public partial class Controls_ProjectList : System.Web.UI.UserControl, IProjectListView
{
ProjectListPresenter presenter;
protected void Page_Load(object sender, EventArgs e)
{
presenter = new ProjectListPresenter(this);
if (!IsPostBack)
{
presenter.GetProjects();
lbUpdateTime.Text = "Updated at " + DateTime.Now.ToLongTimeString();
}
}
public ProjectTable ProjectList
{
set {
dlProjectList.DataSource = value.Projects;
dlProjectList.DataBind();
}
}
protected void updateTimer_Tick(object sender, EventArgs e)
{
try
{
presenter.GetProjects();
lbUpdateTime.Text = "Updated at " + DateTime.Now.ToLongTimeString();
}
catch (TimeoutException ex)
{
}
}
}
Может кто-нибудь посоветовать мне: а) что я делаю неправильно или б) лучшие практики для того, что я пытаюсь сделать
Спасибо.