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
- SQLBytes.cs
- DataGridViewColumnHeaderCell.cs
- EncoderParameter.cs
- WorkflowWebHostingModule.cs
- SqlCommandSet.cs
- GridViewUpdatedEventArgs.cs
- LabelAutomationPeer.cs
- WeakEventTable.cs
- NameTable.cs
- EncoderParameter.cs
- DbProviderFactoriesConfigurationHandler.cs
- EdmToObjectNamespaceMap.cs
- ForwardPositionQuery.cs
- SpellerError.cs
- ParseNumbers.cs
- CopyEncoder.cs
- CodeTypeMemberCollection.cs
- HtmlInputHidden.cs
- Stack.cs
- Interlocked.cs
- CachedPathData.cs
- DigestComparer.cs
- ScriptIgnoreAttribute.cs
- Point3DCollection.cs
- WizardPanelChangingEventArgs.cs
- XComponentModel.cs
- SingletonInstanceContextProvider.cs
- BehaviorDragDropEventArgs.cs
- xml.cs
- WebRequest.cs
- FactoryGenerator.cs
- SqlMethodCallConverter.cs
- UiaCoreApi.cs
- WebPartTransformer.cs
- ExecutionContext.cs
- MonthChangedEventArgs.cs
- Config.cs
- ToolStripItemRenderEventArgs.cs
- ExpanderAutomationPeer.cs
- ColorAnimation.cs
- WpfMemberInvoker.cs
- InputMethodStateTypeInfo.cs
- Single.cs
- WsatConfiguration.cs
- WebRequestModuleElement.cs
- ClientScriptManagerWrapper.cs
- StyleBamlTreeBuilder.cs
- SafeNativeMemoryHandle.cs
- TaskHelper.cs
- SqlBulkCopyColumnMappingCollection.cs
- EUCJPEncoding.cs
- DateTimeConverter.cs
- DataGridViewElement.cs
- EnlistmentState.cs
- WithParamAction.cs
- NamespaceDisplay.xaml.cs
- Package.cs
- SQLConvert.cs
- ToolboxComponentsCreatingEventArgs.cs
- KeyPullup.cs
- DocumentXmlWriter.cs
- RegistryDataKey.cs
- DigitShape.cs
- PostBackTrigger.cs
- MulticastDelegate.cs
- PersonalizationAdministration.cs
- AuthorizationSection.cs
- ConstructorBuilder.cs
- baseaxisquery.cs
- FixedSOMTable.cs
- SortKey.cs
- DecoderFallback.cs
- GridViewActionList.cs
- CollectionConverter.cs
- TextContainerChangeEventArgs.cs
- DataView.cs
- MobileListItemCollection.cs
- LiteralTextParser.cs
- Trustee.cs
- GlobalEventManager.cs
- LinqDataSourceSelectEventArgs.cs
- ComponentResourceManager.cs
- SectionRecord.cs
- MaterialGroup.cs
- SqlDataSourceEnumerator.cs
- ObjRef.cs
- BCLDebug.cs
- UpDownBase.cs
- DocumentOrderComparer.cs
- DoubleCollectionConverter.cs
- EpmSyndicationContentSerializer.cs
- VerticalAlignConverter.cs
- ModelVisual3D.cs
- UnsafeNativeMethods.cs
- RsaSecurityKey.cs
- ReferentialConstraintRoleElement.cs
- DateTime.cs
- CreationContext.cs
- ToolStripScrollButton.cs
- DataGridViewComboBoxEditingControl.cs