当前位置: 首页>>代码示例>>C#>>正文


C# RemotingXmlConfigFileData.AddServerWellKnownEntry方法代码示例

本文整理汇总了C#中System.Runtime.Remoting.Activation.RemotingXmlConfigFileData.AddServerWellKnownEntry方法的典型用法代码示例。如果您正苦于以下问题:C# RemotingXmlConfigFileData.AddServerWellKnownEntry方法的具体用法?C# RemotingXmlConfigFileData.AddServerWellKnownEntry怎么用?C# RemotingXmlConfigFileData.AddServerWellKnownEntry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Runtime.Remoting.Activation.RemotingXmlConfigFileData的用法示例。


在下文中一共展示了RemotingXmlConfigFileData.AddServerWellKnownEntry方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ProcessServiceWellKnownNode

        } // 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
开发者ID:REALTOBIZ,项目名称:mono,代码行数:93,代码来源:remotingconfigparser.cs

示例2: ProcessServiceWellKnownNode

 private static void ProcessServiceWellKnownNode(ConfigNode node, RemotingXmlConfigFileData configData)
 {
     string typeName = null;
     string assemName = null;
     ArrayList contextAttributes = new ArrayList();
     string objURI = null;
     WellKnownObjectMode singleton = WellKnownObjectMode.Singleton;
     bool flag = false;
     foreach (DictionaryEntry entry in node.Attributes)
     {
         string str6;
         if (((str6 = entry.Key.ToString()) != null) && (str6 != "displayName"))
         {
             if (!(str6 == "mode"))
             {
                 if (str6 == "objectUri")
                 {
                     goto Label_00BE;
                 }
                 if (str6 == "type")
                 {
                     goto Label_00CD;
                 }
             }
             else
             {
                 string strA = (string) entry.Value;
                 flag = true;
                 if (string.CompareOrdinal(strA, "Singleton") == 0)
                 {
                     singleton = WellKnownObjectMode.Singleton;
                 }
                 else if (string.CompareOrdinal(strA, "SingleCall") == 0)
                 {
                     singleton = WellKnownObjectMode.SingleCall;
                 }
                 else
                 {
                     flag = false;
                 }
             }
         }
         continue;
     Label_00BE:
         objURI = (string) entry.Value;
         continue;
     Label_00CD:
         RemotingConfigHandler.ParseType((string) entry.Value, out typeName, out assemName);
     }
     foreach (ConfigNode node2 in node.Children)
     {
         string name = node2.Name;
         if (name != null)
         {
             if (!(name == "contextAttribute"))
             {
                 if (name == "lifetime")
                 {
                 }
             }
             else
             {
                 contextAttributes.Add(ProcessContextAttributeNode(node2, configData));
             }
         }
     }
     if (!flag)
     {
         ReportError(Environment.GetResourceString("Remoting_Config_MissingWellKnownModeAttribute"), configData);
     }
     if ((typeName == null) || (assemName == null))
     {
         ReportMissingTypeAttributeError(node, "type", configData);
     }
     if (objURI == null)
     {
         objURI = typeName + ".soap";
     }
     configData.AddServerWellKnownEntry(typeName, assemName, contextAttributes, objURI, singleton);
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:80,代码来源:RemotingXmlConfigFileParser.cs


注:本文中的System.Runtime.Remoting.Activation.RemotingXmlConfigFileData.AddServerWellKnownEntry方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。