D. permission.PermitOnly(); Answer: A
解析:此题考察的是用户权限问题
CodeAccessPermission:定义所有代码访问权限的基础结构
RevertAssert():导致当前框架先前的所有 Assert 都被移除,不再有效,以保证程序的安全
所以选A;
32.您正在开发的应用程序将使用自定义身份验证和基于角色的安全性。 您需要编写要运行库将一个未经身份验证的主体对象分配给每个运行的线程的代码段。 您应该使用哪个代码段?
A. AppDomain domain = AppDomain.CurrentDomain; domain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal); B. AppDomain domain = AppDomain.CurrentDomain; domain.SetThreadPrincipal(new WindowsPrincipal(null)); C. AppDomain domain = AppDomain.CurrentDomain; domain.SetAppDomainPolicy(PolicyLevel.CreateAppDomainLevel()); D. AppDomain domain = AppDomain.CurrentDomain;
domain.SetPrincipalPolicy(PrincipalPolicy.UnauthenticatedPrincipal); Answer: D
解析; 此题目考察的是PrincipalPolicy.类。指定应该如何为应用程序域创建用户和标识对象。默认为 UnauthenticatedPrincipal。 未经身份验证的主体对象 有三个值:
NoPrincipal 不应该创建任何用户或标识对象。
UnauthenticatedPrincipal 应该为未经身份验证的实体创建用户和标识对象。未经身份验证的实体的 Name 设置为空字符串 (\,IsAuthenticated 设置为 false。
WindowsPrincipal 应该创建反映与当前执行线程相关的操作系统标记的用户和标识对象 从题目来看是未经身份验证的用户,所以只有D答案正确。 33.Drag Drop question.Drag拖放问题。
拖动并将问题。 将项拖到适当的位置。 Answer:
34.您在开发应用程序执行数学计算。 您开发一个名为 CalculationValues 的类。 您编写一个名为 PerformCalculation 在 类的实例上运行的过程。 您需要确保应用程序的用户界面继续执行计算时作出回应。 您需要编写一个调用PerformCalculation来达到这个目的代码段。
您会使用哪一个代码段?
A. private void PerformCalculation() {...} private void DoWork()
{ CalculationValues myValues = new CalculationValues();
Thread newThread = new Thread( new ThreadStart(PerformCalculation)); newThread.Start(myValues);}
B. private void PerformCalculation() {...}
private void DoWork()
{ CalculationValues myValues = new CalculationValues(); ThreadStart delStart = new ThreadStart(PerformCalculation); Thread newThread = new Thread(delStart);
if (newThread.IsAlive) {newThread.Start(myValues);}} D. private void PerformCalculation(object values) {...} private void DoWork()
{ CalculationValues myValues = new CalculationValues(); Thread newThread = new Thread( new ParameterizedThreadStart(PerformCalculation));
newThread.Start(myValues);} //这个方法在Calculation实例上运行 Answer: D
解析: 考察的是创建多线程以及启动一个线程的方法Start()方法,以及方法的重载Start(object).
因为此线程在一个类的实例中运行。所以这个方法,必须有参数,参数是一个对象,包含线程执行的方法要使用的数据。排除A,B
创建一个线程在创建托管的线程时,在该线程上执行的方法将通过一个传递给 Thread 构造函数的 ThreadStart 委托或 ParameterizedThreadStart 委托来表示。 例如: Thread newThread = new Thread(new ThreadStart(Calculator));
对比答案C 、D。以及题目要求在后台执行计算,前台继续得到响应。所以应选择多线程。 35.纠正翻译:
您开发一个需要部署的服务应用程序。 您的网络管理员为您的服务应用程序创建特定的用户帐户。 您需要配置您的服务应用程序在此特定用户帐户的上下文中运行。 您怎么办? 纠正翻译:
A. 在安装之前,设置ServiceInstaller 类的StartType 属性。 B. 在安装之前,设置ServiceProcessInstaller 类的Account、Username 和Password 属性。 C. 使用net.exe 命令行工具的CONFIG 选项来安装服务。 D. 使用installutil.exe 命令行工具来安装服务。
解析:此题考查的是安装一个可执行文件.ServiceProcessInstaller类
在安装服务应用程序时由安装实用工具(installutil.exe)来调用,要设定用户名和密码,所以答案选B Answer: B
36.纠正翻译:您正在编写一个方法,该方法返回名为al 的ArrayList。您需要确保以线程安全的方式对ArrayList 执行更改。 您应该使用哪个代码段?
A. ArrayList al = new ArrayList();lock (al.SyncRoot){ return al;}
B. ArrayList al = new ArrayList();lock (al.SyncRoot.GetType()){ return al;} C. ArrayList al = new ArrayList();Monitor.Enter(al);Monitor.Exit(al);return al; D. ArrayList al = new ArrayList();
ArrayList sync_al = ArrayList.Synchronized(al); return sync_al; Answer: D
解析:此题考察的是线程安全,Synchronized方法的使用。返回同步的(线程安全)ArrayList 包装。 所以选D
37. 纠正翻译:您需要编写一个代码段中,该代码段将在应用程序内创建公共语言运行库(CLR) 隔离单元。您应该使用哪个代码段?
A. AppDomainSetup mySetup = AppDomain.CurrentDomain.SetupInformation; mySetup.ShadowCopyFiles = \ B. System.Diagnostics.Process myProcess; myProcess = new System.Diagnostics.Process(); C. AppDomain domain;
domain = AppDomain.CreateDomain(\//创建一个新的域 D. System.ComponentModel.Component myComponent;myComponent = new System.ComponentModel.Component(); Answer: C
解析: 此题考察的是AppDomain。表示应用程序域,它是一个应用程序在其中执行的独立环
境(这里指CLR)。CreateDomain():方法创建一个新的程序域。所以答案选C
38. 您创建一个类库包含在下面的代码段中定义的类层次结构。 (行号将包括只供参考)。
您创建组类的实例。 您填充实例的字段。 当尝试通过使用 Serialize 方法 XmlSerializer 类的序列化该实例会收到 InvalidOperationException。 您还会收到以下错误消息。 \出错生成 XML 文档\。
您需要修改代码段,以使您可以成功地序列化组类的实例,这可以通过使用 XmlSerializer 类。 您还需要确保 XML 输出中包含类的层次结构中的所有公共字段的一个元素。 您怎么办?
A. Insert the following code between lines 1 and 2 of the code segment: [XmlArrayItem(Type = typeof(Employee))] [XmlArrayItem(Type = typeof(Manager))]
B. Insert the following code between lines 1 and 2 of the code segment: [XmlElement(Type = typeof(Employees))]
C. Insert the following code between lines 1 and 2 of the code segment: [XmlArray(ElementName=\
D. Insert the following code between lines 3 and 4 of the code segment: [XmlElement(Type = typeof(Employee))] andInsert the following code between lines 6 and 7 of the code segment: [XmlElement(Type = typeof(Manager))] Answer: A 39.重新翻译:
您正在定义一个名为MyClass 的类,它包含若干个子对象。MyClass 包含一个名为ProcessChildren的方法,该方法对子对象执行操作。 MyClass 对象将是可序列化的对象。
您需要确保在重建MyClass 对象及其所有子对象之后执行ProcessChildren 方法。