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
- Missing.cs
- InternalConfigEventArgs.cs
- ObjectHelper.cs
- TransactionContextValidator.cs
- CommittableTransaction.cs
- dtdvalidator.cs
- _ProxyChain.cs
- SqlAggregateChecker.cs
- ToolStripContentPanelRenderEventArgs.cs
- InvalidProgramException.cs
- CompilationRelaxations.cs
- WindowsRebar.cs
- ConditionalAttribute.cs
- StructuredTypeEmitter.cs
- StylusLogic.cs
- LoaderAllocator.cs
- BinaryFormatterWriter.cs
- LinqDataSourceDisposeEventArgs.cs
- MSG.cs
- Membership.cs
- SrgsItemList.cs
- NavigationCommands.cs
- MetroSerializationManager.cs
- DiagnosticsConfigurationHandler.cs
- SchemaEntity.cs
- JsonCollectionDataContract.cs
- BaseProcessor.cs
- ControlCachePolicy.cs
- IndexedWhereQueryOperator.cs
- DataRelationPropertyDescriptor.cs
- HtmlTextArea.cs
- SecurityDocument.cs
- SafeThemeHandle.cs
- FactoryMaker.cs
- ApplicationFileCodeDomTreeGenerator.cs
- RelationshipEnd.cs
- BitmapEffectOutputConnector.cs
- DbMetaDataColumnNames.cs
- HostingEnvironmentException.cs
- PageHandlerFactory.cs
- ColorConvertedBitmap.cs
- MulticastOption.cs
- AutomationElement.cs
- WindowPattern.cs
- ToolboxItemAttribute.cs
- DataSetMappper.cs
- prompt.cs
- SettingsPropertyValueCollection.cs
- WebHttpBehavior.cs
- TextBoxBase.cs
- VirtualizingPanel.cs
- Utility.cs
- UserControlParser.cs
- SqlDataSourceSummaryPanel.cs
- ListBoxItemWrapperAutomationPeer.cs
- CardSpaceShim.cs
- CngKey.cs
- TablePatternIdentifiers.cs
- SmtpCommands.cs
- PeerNameRecordCollection.cs
- DetailsViewRow.cs
- ServerIdentity.cs
- CodeVariableReferenceExpression.cs
- ToolStripSeparator.cs
- SByte.cs
- AudioFormatConverter.cs
- MaskedTextBox.cs
- EmptyEnumerable.cs
- DataColumnPropertyDescriptor.cs
- TypeBuilder.cs
- XmlUtil.cs
- HelpEvent.cs
- EmptyStringExpandableObjectConverter.cs
- ToolStripContentPanelRenderEventArgs.cs
- IPGlobalProperties.cs
- TextTrailingWordEllipsis.cs
- ColorDialog.cs
- Rules.cs
- DependencyObjectProvider.cs
- SafeReversePInvokeHandle.cs
- BitStream.cs
- TextEditorSelection.cs
- MembershipPasswordException.cs
- SmtpDigestAuthenticationModule.cs
- GridViewEditEventArgs.cs
- XamlSerializerUtil.cs
- GuidConverter.cs
- MemoryRecordBuffer.cs
- UnsafeNativeMethodsCLR.cs
- Normalization.cs
- filewebresponse.cs
- QueryResponse.cs
- TextLineBreak.cs
- TargetParameterCountException.cs
- RectConverter.cs
- ObjectQueryExecutionPlan.cs
- SqlBuffer.cs
- DataComponentGenerator.cs
- StringWriter.cs
- IIS7WorkerRequest.cs