Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Tools / WSATConfig / Configuration / WsatServiceAddress.cs / 1305376 / WsatServiceAddress.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.Tools.ServiceModel.WsatConfig { using System; using System.Globalization; using System.Runtime.InteropServices; class WsatServiceAddress { uint port; string wsatServiceAddress; const string wsatServiceAddressFormat = "https://+:{0}/WsatService/"; const string wsatSecurityDescriptor = "D:(A;;GA;;;NS)"; internal WsatServiceAddress(uint port) { this.port = port; wsatServiceAddress = String.Format(CultureInfo.InvariantCulture, wsatServiceAddressFormat, this.port); } internal void ReserveWsatServiceAddress() { if (Utilities.IsHttpApiLibAvailable) { ReserveURL(wsatServiceAddress, wsatSecurityDescriptor); } } internal void FreeWsatServiceAddress() { if (Utilities.IsHttpApiLibAvailable) { FreeURL(wsatServiceAddress, wsatSecurityDescriptor); } } static void ReserveURL(string networkURL, string securityDescriptor) { int retVal = SafeNativeMethods.NoError; try { retVal = SafeNativeMethods.HttpInitialize(HttpWrapper.HttpApiVersion1, SafeNativeMethods.HTTP_INITIALIZE_CONFIG, IntPtr.Zero); if (SafeNativeMethods.NoError == retVal) { HttpServiceConfigUrlAclKey keyDesc = new HttpServiceConfigUrlAclKey(networkURL); HttpServiceConfigUrlAclParam paramDesc = new HttpServiceConfigUrlAclParam(securityDescriptor); HttpServiceConfigUrlAclSet configInformation = new HttpServiceConfigUrlAclSet(); configInformation.KeyDesc = keyDesc; configInformation.ParamDesc = paramDesc; int configInformationLength = Marshal.SizeOf(configInformation); retVal = SafeNativeMethods.HttpSetServiceConfiguration_UrlAcl(IntPtr.Zero, HttpServiceConfigId.HttpServiceConfigUrlAclInfo, ref configInformation, configInformationLength, IntPtr.Zero); if (SafeNativeMethods.ErrorAlreadyExists == retVal) { retVal = SafeNativeMethods.HttpDeleteServiceConfiguration_UrlAcl(IntPtr.Zero, HttpServiceConfigId.HttpServiceConfigUrlAclInfo, ref configInformation, configInformationLength, IntPtr.Zero); if (SafeNativeMethods.NoError == retVal) { retVal = SafeNativeMethods.HttpSetServiceConfiguration_UrlAcl(IntPtr.Zero, HttpServiceConfigId.HttpServiceConfigUrlAclInfo, ref configInformation, configInformationLength, IntPtr.Zero); } } } } finally { SafeNativeMethods.HttpTerminate(SafeNativeMethods.HTTP_INITIALIZE_CONFIG, IntPtr.Zero); } if (SafeNativeMethods.NoError != retVal) { if (SafeNativeMethods.ErrorAlreadyExists == retVal) { throw new WsatAdminException(WsatAdminErrorCode.REGISTER_HTTPS_PORT_ALREADYEXISTS, SR.GetString(SR.ErrorRegisterHttpsPortAlreadyExists)); } else { throw new WsatAdminException(WsatAdminErrorCode.REGISTER_HTTPS_PORT, SR.GetString(SR.ErrorRegisterHttpsPort, retVal)); } } } static void FreeURL(string networkURL, string securityDescriptor) { int retVal = SafeNativeMethods.NoError; try { retVal = SafeNativeMethods.HttpInitialize(HttpWrapper.HttpApiVersion1, SafeNativeMethods.HTTP_INITIALIZE_CONFIG, IntPtr.Zero); if (SafeNativeMethods.NoError == retVal) { HttpServiceConfigUrlAclKey urlAclKey = new HttpServiceConfigUrlAclKey(networkURL); HttpServiceConfigUrlAclParam urlAclParam = new HttpServiceConfigUrlAclParam(securityDescriptor); HttpServiceConfigUrlAclSet configInformation = new HttpServiceConfigUrlAclSet(); configInformation.KeyDesc = urlAclKey; configInformation.ParamDesc = urlAclParam; int configInformationSize = Marshal.SizeOf(configInformation); retVal = SafeNativeMethods.HttpDeleteServiceConfiguration_UrlAcl(IntPtr.Zero, HttpServiceConfigId.HttpServiceConfigUrlAclInfo, ref configInformation, configInformationSize, IntPtr.Zero); } } finally { SafeNativeMethods.HttpTerminate(SafeNativeMethods.HTTP_INITIALIZE_CONFIG, IntPtr.Zero); } if (retVal != SafeNativeMethods.NoError && retVal != SafeNativeMethods.FileNotFound && retVal != SafeNativeMethods.ErrorInvalidParameter) { throw new WsatAdminException(WsatAdminErrorCode.UNREGISTER_HTTPS_PORT, SR.GetString(SR.ErrorUnregisterHttpsPort, retVal)); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EnvelopedPkcs7.cs
- NameService.cs
- RequestCachePolicy.cs
- TextLine.cs
- RichTextBoxConstants.cs
- EnumMember.cs
- DetailsViewInsertEventArgs.cs
- LinqTreeNodeEvaluator.cs
- Monitor.cs
- StaticTextPointer.cs
- DataGridViewRowPostPaintEventArgs.cs
- ColorConvertedBitmapExtension.cs
- DefaultMemberAttribute.cs
- WindowsTab.cs
- ToolStripItemTextRenderEventArgs.cs
- DocumentPropertiesDialog.cs
- AnnotationResourceChangedEventArgs.cs
- ProcessRequestArgs.cs
- OleCmdHelper.cs
- BadImageFormatException.cs
- StickyNoteContentControl.cs
- _NegoStream.cs
- DbProviderFactories.cs
- FormViewPageEventArgs.cs
- Memoizer.cs
- DBCSCodePageEncoding.cs
- Delegate.cs
- XamlToRtfWriter.cs
- Pts.cs
- PropertyChangedEventArgs.cs
- DataGrid.cs
- SqlCrossApplyToCrossJoin.cs
- XmlSchemaGroup.cs
- ModelTreeEnumerator.cs
- WebBrowserNavigatingEventHandler.cs
- _NTAuthentication.cs
- ColorTranslator.cs
- WindowsToolbarItemAsMenuItem.cs
- ProcessHostServerConfig.cs
- TrackingProfileCache.cs
- SeverityFilter.cs
- WebColorConverter.cs
- TextContainerChangeEventArgs.cs
- SafeRightsManagementHandle.cs
- SqlDependency.cs
- HttpCachePolicy.cs
- RuntimeCompatibilityAttribute.cs
- WorkflowDesignerMessageFilter.cs
- EnterpriseServicesHelper.cs
- LeafCellTreeNode.cs
- MsmqActivation.cs
- XLinq.cs
- PropertyGridEditorPart.cs
- DataGridViewCellCollection.cs
- FeatureSupport.cs
- ModuleConfigurationInfo.cs
- PeerApplication.cs
- FieldDescriptor.cs
- DataTableMappingCollection.cs
- CacheRequest.cs
- SmiSettersStream.cs
- TraceLevelStore.cs
- AlphabeticalEnumConverter.cs
- HttpInputStream.cs
- ItemList.cs
- Model3D.cs
- XhtmlBasicLinkAdapter.cs
- SqlDataSourceSelectingEventArgs.cs
- FacetValues.cs
- CleanUpVirtualizedItemEventArgs.cs
- CodeTypeDeclaration.cs
- SQLDateTimeStorage.cs
- SByteStorage.cs
- TreeViewHitTestInfo.cs
- QilNode.cs
- ComboBoxAutomationPeer.cs
- GridViewColumnCollection.cs
- PageHandlerFactory.cs
- DecoderFallback.cs
- UIPermission.cs
- XmlStreamStore.cs
- RangeValidator.cs
- LayoutEvent.cs
- EnvironmentPermission.cs
- GridViewColumnCollectionChangedEventArgs.cs
- ButtonChrome.cs
- ChannelEndpointElementCollection.cs
- XmlResolver.cs
- WeakReferenceList.cs
- SaveFileDialog.cs
- HScrollBar.cs
- AppDomainProtocolHandler.cs
- EventDescriptor.cs
- ConnectionPointCookie.cs
- LocalizationParserHooks.cs
- AffineTransform3D.cs
- ChangePasswordAutoFormat.cs
- ResourceReferenceExpressionConverter.cs
- DataViewSetting.cs
- CompositeCollection.cs