protected void OnApplicationPoolValidate(object source, ServerValidateEventArgs e) { if (e != null && e.IsValid) { string uniqueID = DialogMaster.OkButton.UniqueID; string eventTarget = Request.Params["__EVENTTARGET"]; if (!string.IsNullOrEmpty(eventTarget) && eventTarget == uniqueID) { try { IisWebServiceApplicationPoolSection section = ApplicationPoolSection as IisWebServiceApplicationPoolSection; _applicationPool = (section == null) ? null : section.GetOrCreateApplicationPool(); } catch (Exception ex) { if (ex is SPDuplicateObjectException) { ApplicationPoolValidator.ErrorMessage = "Application Pool with the given name already exists"; } else { ApplicationPoolValidator.ErrorMessage = "Application Pool could not be created"; } e.IsValid = false; } } } }
/// <summary> /// Creates the service application. /// </summary> private void CreateApplication() { using (SPLongOperation operation = new SPLongOperation(this)) { operation.LeadingHTML = HttpContext.GetGlobalResourceObject("ClubCloud.Service.ServiceAdminResources", "CreateOperationLeadingHtml", CultureInfo.CurrentCulture).ToString(); operation.TrailingHTML = HttpContext.GetGlobalResourceObject("ClubCloud.Service.ServiceAdminResources", "CreateOperationTrailingHtml", CultureInfo.CurrentCulture).ToString(); operation.Begin(); try { ClubCloudService service = ClubCloudService.GetOrCreateService(); ClubCloudServiceProxy serviceProxy = ClubCloudServiceProxy.GetOrCreateServiceProxy(); // Create the application pool IisWebServiceApplicationPoolSection applicationPoolSectionCasted = this.applicationPoolSection as IisWebServiceApplicationPoolSection; SPIisWebServiceApplicationPool applicationPool = applicationPoolSectionCasted.GetOrCreateApplicationPool(); // Create the service application ClubCloudServiceApplication application = new ClubCloudServiceApplication( this.textBoxServiceName.Text.Trim(), service, applicationPool); application.Update(); application.Provision(); // Create the service application proxy ClubCloudServiceApplicationProxy proxy = new ClubCloudServiceApplicationProxy( string.Format( CultureInfo.CurrentCulture, HttpContext.GetGlobalResourceObject("ClubCloud.Service.ServiceAdminResources", "ServiceApplicationProxyNameTemplate", CultureInfo.CurrentCulture).ToString(), this.textBoxServiceName.Text.Trim()), serviceProxy, application.Uri); proxy.Update(); proxy.Provision(); if (this.checkBoxIncludeInDefaultProxy.Checked) { SPServiceApplicationProxyGroup group = SPServiceApplicationProxyGroup.Default; group.Add(proxy); group.Update(); } operation.EndScript("window.frameElement.commitPopup();"); } catch (Exception ex) { SPUtility.TransferToErrorPage(ex.ToString()); } } }
/// <summary> /// Click event. /// </summary> /// <param name="sender">The Sender.</param> /// <param name="e">The EventArgs.</param> protected void OkButton_Click(object sender, EventArgs e) { this.Validate(); if (this.IsValid) { using (SPLongOperation operation = new SPLongOperation(this)) { operation.Begin(); this.ServiceApplication.Name = this.textBoxServiceName.Text.Trim(); IisWebServiceApplicationPoolSection iisSection = this.applicationPoolSection as IisWebServiceApplicationPoolSection; this.ServiceApplication.ApplicationPool = iisSection.GetOrCreateApplicationPool(); this.ServiceApplication.Update(); operation.EndScript("window.frameElement.commitPopup();"); } } }