Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Tools / WSATConfig / Configuration / WsatServiceAddress.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FileInfo.cs
- OleDbConnectionInternal.cs
- HuffModule.cs
- AmbientLight.cs
- DrawingCollection.cs
- SimpleRecyclingCache.cs
- TokenBasedSetEnumerator.cs
- XmlTextEncoder.cs
- KeyInterop.cs
- MailAddressParser.cs
- documentation.cs
- IndentedWriter.cs
- BasicDesignerLoader.cs
- OutputCacheModule.cs
- PropertyFilterAttribute.cs
- CreateWorkflowOwnerCommand.cs
- BitmapEncoder.cs
- CancellationState.cs
- Boolean.cs
- EnlistmentTraceIdentifier.cs
- TypeBrowser.xaml.cs
- WebPartAuthorizationEventArgs.cs
- IdentityValidationException.cs
- FormViewPagerRow.cs
- Separator.cs
- MultiBinding.cs
- StringAttributeCollection.cs
- PropertyGridEditorPart.cs
- LayeredChannelListener.cs
- PingReply.cs
- OdbcStatementHandle.cs
- WindowsAuthenticationEventArgs.cs
- ExtensionQuery.cs
- XmlAttributeCollection.cs
- SelectionProviderWrapper.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- WindowsFormsHelpers.cs
- IndexedString.cs
- webproxy.cs
- XPathNodeInfoAtom.cs
- PackWebRequestFactory.cs
- SchemaObjectWriter.cs
- UriExt.cs
- TabPage.cs
- PageScaling.cs
- Binding.cs
- CommonRemoteMemoryBlock.cs
- LinkedResourceCollection.cs
- EventPrivateKey.cs
- SoapReflectionImporter.cs
- DrawingState.cs
- OdbcInfoMessageEvent.cs
- DesignTimeTemplateParser.cs
- DataServiceHostWrapper.cs
- CustomAttributeBuilder.cs
- DataGridViewCellStateChangedEventArgs.cs
- xmlfixedPageInfo.cs
- WSAddressing10ProblemHeaderQNameFault.cs
- HttpCacheParams.cs
- DisableDpiAwarenessAttribute.cs
- StoreContentChangedEventArgs.cs
- SecurityProtocolCorrelationState.cs
- NegotiateStream.cs
- SuspendDesigner.cs
- OperationBehaviorAttribute.cs
- ErrorProvider.cs
- XPathBinder.cs
- XamlTreeBuilderBamlRecordWriter.cs
- MarginsConverter.cs
- PixelFormat.cs
- QualifiedCellIdBoolean.cs
- WindowsListViewItemCheckBox.cs
- DiscoveryDocument.cs
- ParameterEditorUserControl.cs
- SimpleBitVector32.cs
- ProtocolsConfigurationHandler.cs
- DesignTimeHTMLTextWriter.cs
- XmlAnyAttributeAttribute.cs
- DataGridViewDataErrorEventArgs.cs
- InternalUserCancelledException.cs
- Validator.cs
- ProfileSettingsCollection.cs
- TextTreeExtractElementUndoUnit.cs
- Repeater.cs
- SqlStream.cs
- TreeViewCancelEvent.cs
- WebZone.cs
- TransformerTypeCollection.cs
- HwndHostAutomationPeer.cs
- ForceCopyBuildProvider.cs
- DescendantOverDescendantQuery.cs
- InputReport.cs
- ParserOptions.cs
- FeatureSupport.cs
- CfgParser.cs
- TableNameAttribute.cs
- SqlRemoveConstantOrderBy.cs
- Speller.cs
- ResourceType.cs
- TaskExceptionHolder.cs