System.Runtime.Remoting.Activation.RemotingXmlConfigFileData.AddServerWellKnownEntry C# (CSharp) Method

AddServerWellKnownEntry() private method

private AddServerWellKnownEntry ( String typeName, String assemName, ArrayList contextAttributes, String objURI, WellKnownObjectMode objMode ) : ServerWellKnownEntry
typeName String
assemName String
contextAttributes System.Collections.ArrayList
objURI String
objMode WellKnownObjectMode
return ServerWellKnownEntry
        internal ServerWellKnownEntry AddServerWellKnownEntry(String typeName, String assemName,
            ArrayList contextAttributes, String objURI, WellKnownObjectMode objMode)
        {
            TryToLoadTypeIfApplicable(typeName, assemName);
            ServerWellKnownEntry swke = new ServerWellKnownEntry(typeName, assemName,
                contextAttributes, objURI, objMode);
            ServerWellKnownEntries.Add(swke);
            return swke;
        }    
        

Usage Example

Esempio n. 1
0
        } // ProcessInteropNode


        // appears under "application/service"
        private static void ProcessServiceWellKnownNode(ConfigNode node, RemotingXmlConfigFileData configData)
        {
            String typeName = null;
            String assemName = null;
            ArrayList contextAttributes = new ArrayList();
            
            String objectURI = null;
            
            WellKnownObjectMode objectMode = WellKnownObjectMode.Singleton;
            bool objectModeFound = false;

            // examine attributes
            foreach (DictionaryEntry entry in node.Attributes)
            {
                String key = entry.Key.ToString();
                switch (key)
                {
                case "displayName": break; // displayName is ignored (used by config utility for labelling the application)
                
                case "mode":
                {
                    String value = (String)entry.Value;
                    objectModeFound = true;
                    if (String.CompareOrdinal(value, "Singleton") == 0)
                        objectMode = WellKnownObjectMode.Singleton;
                    else
                    if (String.CompareOrdinal(value, "SingleCall") == 0)
                        objectMode = WellKnownObjectMode.SingleCall;
                    else
                        objectModeFound = false;
                    break;
                } // case "mode"

                case "objectUri": objectURI = (String)entry.Value; break;

                case "type":
                {
                    RemotingConfigHandler.ParseType((String)entry.Value, out typeName, out assemName);
                    break;
                } // case "type"


                default: break;
                } // switch
            } // foreach

            // examine child nodes
            foreach (ConfigNode childNode in node.Children)
            {
                switch (childNode.Name)
                {
                case "contextAttribute":
                {
                    contextAttributes.Add(ProcessContextAttributeNode(childNode, configData));
                    break;
                } // case "contextAttribute"

                case "lifetime":
                {
                    // <
                     break;
                } // case "lifetime"


                default: break;

                } // switch
            } // foreach child node
            

            // check for errors
            if (!objectModeFound)
            {
                ReportError(
                    Environment.GetResourceString("Remoting_Config_MissingWellKnownModeAttribute"),
                    configData);
            }                   
            
            if ((typeName == null) || (assemName == null))
                ReportMissingTypeAttributeError(node, "type", configData);


            // objectURI defaults to typeName if not specified
            if (objectURI == null)
                objectURI = typeName + ".soap";

            configData.AddServerWellKnownEntry(typeName, assemName, contextAttributes,
                objectURI, objectMode);
        } // ProcessServiceWellKnownNode
All Usage Examples Of System.Runtime.Remoting.Activation.RemotingXmlConfigFileData::AddServerWellKnownEntry