public override void FeatureActivated(SPFeatureReceiverProperties properties) { // install the service var service = SPFarm.Local.Services.GetValue <OceanikService>(); if (service == null) { service = new OceanikService(SPFarm.Local); service.Update(); } // install the service proxy var serviceProxy = SPFarm.Local.ServiceProxies.GetValue <OceanikServiceProxy>(); if (serviceProxy == null) { serviceProxy = new OceanikServiceProxy(SPFarm.Local); serviceProxy.Update(true); } // with service added to the farm, install instance var serviceInstance = new OceanikServiceInstance(SPServer.Local, service); serviceInstance.Update(true); }
private OceanikServiceApplication CreateServiceApplication(OceanikService service) { // create service app OceanikServiceApplication serviceApp = OceanikServiceApplication.Create( ServiceAppName.Text, service, ApplicationPoolSelection.GetOrCreateApplicationPool()); serviceApp.Update(); // start it if it isn't already started serviceApp.Status = SPObjectStatus.Online; // configure service app endpoint serviceApp.AddServiceEndpoint(string.Empty, SPIisWebServiceBindingType.Http); serviceApp.Update(true); // now provision the service app serviceApp.Provision(); return(serviceApp); }