Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Activation / ServiceBuildProvider.cs / 1 / ServiceBuildProvider.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Activation { using System; using System.CodeDom; using System.CodeDom.Compiler; using System.Collections; using System.Diagnostics; using System.IO; using System.Reflection; using System.Web.Compilation; using System.Security; using System.Web; using System.Security.Permissions; using System.Threading; ////// Critical - entry-point from asp.net, called outside PermitOnly context /// also needs to elevate in order to inherit from BuildProvider and call methods on the base class /// [SecurityCritical(SecurityCriticalScope.Everything)] [BuildProviderAppliesTo(BuildProviderAppliesTo.Web)] [ServiceActivationBuildProvider] class ServiceBuildProvider : BuildProvider { ServiceParser parser; public override CompilerType CodeCompilerType { get { return GetCodeCompilerType(); } } CompilerType GetCodeCompilerType() { EnsureParsed(); return parser.CompilerType; } protected override CodeCompileUnit GetCodeCompileUnit(out IDictionary linePragmasTable) { CodeSnippetCompileUnit ccu = parser.GetCodeModel() as CodeSnippetCompileUnit; linePragmasTable = parser.GetLinePragmasTable(); return ccu; } void EnsureParsed() { if (parser == null) { parser = new ServiceParser(VirtualPath, this); parser.Parse(ReferencedAssemblies); } } public override BuildProviderResultFlags GetResultFlags(CompilerResults results) { return BuildProviderResultFlags.ShutdownAppDomainOnChange; } public override void GenerateCode(AssemblyBuilder assemblyBuilder) { GenerateCodeCore(assemblyBuilder); } void GenerateCodeCore(AssemblyBuilder assemblyBuilder) { if (assemblyBuilder == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("assemblyBuilder"); } CodeCompileUnit codeCompileUnit = parser.GetCodeModel(); // Bail if we have nothing we need to compile // if (codeCompileUnit == null) return; // Add the code unit and then add all the assemblies // assemblyBuilder.AddCodeCompileUnit(this, codeCompileUnit); if (parser.AssemblyDependencies != null) { foreach (Assembly assembly in parser.AssemblyDependencies) { assemblyBuilder.AddAssemblyReference(assembly); } } } public override string GetCustomString(CompilerResults results) { return GetCustomStringCore(results); } string GetCustomStringCore(CompilerResults results) { return parser.CreateParseString((results == null) ? null : results.CompiledAssembly); } public override System.Collections.ICollection VirtualPathDependencies { get { return parser.SourceDependencies; } } internal CompilerType GetDefaultCompilerTypeForLanguageInternal(string language) { return GetDefaultCompilerTypeForLanguage(language); } internal CompilerType GetDefaultCompilerTypeInternal() { return GetDefaultCompilerType(); } internal TextReader OpenReaderInternal() { return OpenReader(); } } } // 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
- DataFormats.cs
- ProtocolsConfigurationEntry.cs
- SelectorAutomationPeer.cs
- FindCompletedEventArgs.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- SqlClientMetaDataCollectionNames.cs
- IdentityNotMappedException.cs
- RectangleConverter.cs
- SerializationHelper.cs
- DataBindingCollection.cs
- ZoneLinkButton.cs
- CopyCodeAction.cs
- UpdateTracker.cs
- Button.cs
- RawStylusInputReport.cs
- WinFormsComponentEditor.cs
- Propagator.Evaluator.cs
- HttpClientCertificate.cs
- LinkLabelLinkClickedEvent.cs
- _SslState.cs
- SqlClientPermission.cs
- SspiHelper.cs
- SpotLight.cs
- ProfileGroupSettingsCollection.cs
- AxHost.cs
- GeneratedCodeAttribute.cs
- CfgRule.cs
- StrongNameSignatureInformation.cs
- DataErrorValidationRule.cs
- ApplicationFileCodeDomTreeGenerator.cs
- IdentityNotMappedException.cs
- ToolboxItemFilterAttribute.cs
- EmissiveMaterial.cs
- XmlDataLoader.cs
- SamlAssertion.cs
- FlowDocument.cs
- XmlSchemaAny.cs
- CodeTypeConstructor.cs
- SignatureResourceHelper.cs
- safex509handles.cs
- ReflectionPermission.cs
- Graphics.cs
- HttpChannelBindingToken.cs
- CommandEventArgs.cs
- JsonDataContract.cs
- KeyTime.cs
- Attributes.cs
- StreamWriter.cs
- LambdaCompiler.Expressions.cs
- XhtmlBasicCommandAdapter.cs
- CookielessData.cs
- FillRuleValidation.cs
- XamlPathDataSerializer.cs
- SQLMoneyStorage.cs
- ThreadNeutralSemaphore.cs
- AlphabeticalEnumConverter.cs
- _ShellExpression.cs
- RelationalExpressions.cs
- FrameworkPropertyMetadata.cs
- HeaderPanel.cs
- ExceptionDetail.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- OleServicesContext.cs
- AdornerPresentationContext.cs
- SystemParameters.cs
- FrameworkElementFactory.cs
- SystemParameters.cs
- UriExt.cs
- ConfigurationSectionGroup.cs
- AutoCompleteStringCollection.cs
- OrderedDictionaryStateHelper.cs
- PropertyGridEditorPart.cs
- GeneralTransform3DGroup.cs
- HttpWebRequestElement.cs
- PerformanceCounterScope.cs
- SafeNativeMethodsCLR.cs
- Thumb.cs
- ListView.cs
- DesignerEditorPartChrome.cs
- DocumentViewer.cs
- TokenFactoryBase.cs
- StickyNoteAnnotations.cs
- CalculatedColumn.cs
- ErrorRuntimeConfig.cs
- EncoderParameter.cs
- querybuilder.cs
- SectionInformation.cs
- EtwTrace.cs
- ThemeConfigurationDialog.cs
- UInt32Converter.cs
- RbTree.cs
- MethodCallConverter.cs
- CompilationRelaxations.cs
- DSASignatureDeformatter.cs
- FormsAuthenticationUser.cs
- Directory.cs
- connectionpool.cs
- ProcessHostFactoryHelper.cs
- BitmapCodecInfo.cs
- RequestResponse.cs