app pool restart thing out of the way and force dedicated app pool thing that I approved

This commit is contained in:
dev_amdtel 2013-05-03 17:59:19 +04:00
parent 580a898523
commit cfd0b39673
14 changed files with 767 additions and 396 deletions

View file

@ -169,6 +169,13 @@
<td class="MediumBold" align="center">
<asp:Literal ID="litStatus" runat="server"></asp:Literal>
</td>
<%-- AppPool --%>
<td class="MediumBold" align="center">
App Pool : <asp:Literal ID="litAppPoolStatus" runat="server"></asp:Literal>
</td>
<%-- AppPool --%>
</tr>
<tr>
<td align="center">
@ -181,6 +188,15 @@
<asp:ImageButton ID="cmdStop" runat="server" SkinID="StopMedium" meta:resourcekey="cmdStop"
CommandName="Stopped" OnClick="cmdChangeState_Click" />
</td>
<%-- AppPool --%>
<td align="center">
<asp:LinkButton ID="cmdAppPoolStart" runat="server" CommandName="Start" OnClick="cmdAppPoolChangeState_Click">Start</asp:LinkButton><br />
<asp:LinkButton ID="cmdAppPoolStop" runat="server" CommandName="Stop" OnClick="cmdAppPoolChangeState_Click">Stop</asp:LinkButton><br />
<asp:LinkButton ID="cmdAppPoolRecycle" runat="server" CommandName="Recycle" OnClick="cmdAppPoolChangeState_Click">Recycle</asp:LinkButton>
</td>
<%-- AppPool --%>
</tr>
</table>
</td>

View file

@ -291,6 +291,9 @@ namespace WebsitePanel.Portal
// bind state
BindSiteState(site.SiteState);
// AppPool
AppPoolState appPoolState = ES.Services.WebServers.GetAppPoolState(PanelRequest.ItemID);
BindAppPoolState(appPoolState);
// bind pointers
BindPointers();
@ -988,6 +991,42 @@ namespace WebsitePanel.Portal
return;
}
}
// AppPool
private void BindAppPoolState(AppPoolState state)
{
litAppPoolStatus.Text = state.ToString();
cmdAppPoolStart.Visible = (state == AppPoolState.Stop);
cmdAppPoolStop.Visible = (state == AppPoolState.Start);
cmdAppPoolRecycle.Visible = (state == AppPoolState.Start);
}
protected void cmdAppPoolChangeState_Click(object sender, EventArgs e)
{
string stateName = ((LinkButton)sender).CommandName;
AppPoolState state = (AppPoolState)Enum.Parse(typeof(AppPoolState), stateName, true);
try
{
int result = ES.Services.WebServers.ChangeAppPoolState(PanelRequest.ItemID, state);
if (result < 0)
{
ShowResultMessage(result);
return;
}
state = ES.Services.WebServers.GetAppPoolState(PanelRequest.ItemID);
BindAppPoolState(state);
}
catch (Exception ex)
{
ShowErrorMessage("WEB_CHANGE_SITE_STATE", ex);
return;
}
}
#endregion
#region Pointers