Visual Basic NET - Developing Windows Based Applications with VB NET


370 24 789KB

English Pages 114

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Visual Basic NET - Developing Windows Based Applications with VB NET

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

070-306

070 - 306

Developing Windows-based Applications with Microsoft Visual Basic .NET

MCSD/MCAD

Version 4.0

Leading the way in IT testing and certification tools, www.testking.com -1-

070 - 306

Important Note Please Read Carefully This product will provide you questions and answers along with detailed explanations carefully compiled and written by our experts. Try to understand the concepts behind the questions instead of just cramming the questions. Go through the entire document at least twice so that you make sure that you are not missing anything. You are constantly adding and updating our products with new questions and making the previous versions better so email us once before your exam and you will send you the latest version of the product. Each pdf file contains a unique serial number associated with your particular name and contact information for security purposes. So if you find out that particular pdf file being distributed by you. Testking will reserve the right to take legal action against you according to the International Copyright Law. So don't distribute this PDF file.

Leading the way in IT testing and certification tools, www.testking.com -2-

070 - 306 Note: The book “MCAD/MCSD Self-Paced Training Kit: Developing Windows-Based Applications with Microsoft Visual Basic .NET and Microsoft Visual C# .NET” from Microsoft Press is denoted as “70-306/70316 Training kit” in references. Visual Studio .NET online references are also used.

QUESTION NO: 1 You use Visual Studio .NET to develop an application for users the intranet of your company TestKing. All client computers use Internet Explorer as their Web browser. You plan to create a setup package to distribute your application. The setup package must fulfill the following requirements: • • •

It is placed in a network folder that is accessible to users. It is accessible through a link on your company's intranet. It includes an uninstaller for the application.

Which type of project should you create? A. B. C. D.

CAB project. merge module project. setup project. Web setup project.

Answer: D Explanation: To deploy a Web application to a Web server, you create a Web Setup project, build it, copy it to the Web server computer, and run the installer to install the application on the server using the settings defined in your Web Setup project. Reference: Visual Studio, Deployment of a Web Setup Project Visual Studio, CAB File Projects Visual Studio, Adding Merge Modules to a Deployment Project Visual Studio, Setup Projects

Incorrect Answers A: CAB projects allow you to create a .cab file to package ActiveX controls, not applications however, that can be downloaded from a Web server to a Web browser. B: You don't install merge module projects with Internet Explorer. Note: Merge modules (.msm files) allow you to share components between multiple deployment projects. C: You don't install setup projects with Internet Explorer.

Leading the way in IT testing and certification tools, www.testking.com -3-

070 - 306 Note: Setup projects allow you to create installers in order to distribute an application. The resulting Windows Installer (.msi) file contains the application, any dependent files, information about the application such as registry entries, and instructions for installation.

QUESTION NO: 2 You develop a Windows-based application by using Visual Studio .NET. The application included numerous method calls at startup. After optimizing your application code, you test the application on a variety of client computers. However, the startup time is too slow. You must ensure that your application starts as quickly as possible the first time it runs. What should you do? A. Precompile your application by using the Native Image Generator (Ngen.exe). Install the precompiled application on the client computers. B. Install your application on the client computers. Precompile your application by using the Native Image Generator (Ngen.exe). C. Precompile your application by using the JIT compiler. Install the precompiled application on the client computers. D. Install your application on the client computers. Precompile your application by using the JIT compiler.

Answer: A Explanation: Pre-compiling assemblies with Ngen.exe can improve the startup time for applications, because much of the work required to execute code has been done in advance. We precompile the application and then install it. Reference: .NET Framework Tools, Native Image Generator (Ngen.exe) .NET Framework Developer's Guide, Compiling MSIL to Native Code Incorrect Answers B: We should first precompile the application and then install it. C, D: JIT (just-in-time) compilation occurs at run-time, and cannot be precompiled.

QUESTION NO: 3 You use Visual Studio .NET to create an application that will be distributed to employees within your company TestKing Inc.. You create and deploy a distribution package to test a computer running Windows 2000 Professional.

Leading the way in IT testing and certification tools, www.testking.com -4-

070 - 306 Later you discover that your name is listed as the support contact for your application by the Add/Remove Programs option of Control Panel. You need to change the support contact to the name of your Help desk administrator. Which property of the setup project should you change? A. B. C. D.

Author Comments Manufacturer SupportPhone

Answer: A Explanation: The Author property specifies the name of the author of an application or component. Once the application is installed, the property is also displayed in the Contact field of the Support Info dialog box. Reference: Visual Studio, Deployment Properties Visual Studio, Author Property Visual Studio, Manufacturer Property Incorrect Answers B: There is no Deployment property called comments. C: The Manufacturer property specifies the name of the manufacturer of an application or component, usually the name of the company that developed it. Once the application is installed, the Manufacturer property is displayed in the Publisher field of the Support Info dialog box. D: We are not interested in supplying a telephone number-

QUESTION NO: 4 You use Visual Studio .NET to create an assembly, called TestKingAssembly, that will be used by other applications, including a standard COM client application. You must deploy your assembly on the COM application to a client computer. You must ensure that the COM application can instantiate components within the assembly as COM components. What should you do? A. Create a strong name of the assembly by using the Strong Name tool (Sn.exe). B. Generate a registry file for the assembly by using the Assembly Registration tool (Regasm.exe) Register the file on the client computer. C. Generate a type library for the assembly by using the Type Library Importer (Tlbimp.exe). Register the file on the client computer. D. Deploy the assembly to the global assembly cache on the client computer. Add a reference to the assembly in the COM client application.

Leading the way in IT testing and certification tools, www.testking.com -5-

070 - 306 Answer: B Explanation: The Assembly Registration tool reads the metadata within an assembly and adds the necessary entries to the registry, which allows COM clients to create .NET Framework classes transparently. Once a class is registered, any COM client can use it as though the class were a COM class. Reference: .NET Framework Tools, Assembly Registration Tool (Regasm.exe) .NET Framework Tools, Strong Name Tool (Sn.exe) .NET Framework Tools, Type Library Importer (Tlbimp.exe) Incorrect Answers A: The Strong Name tool helps sign assemblies with strong names. C: The Type Library Importer, tlbimp.exe, converts the type definitions found within a COM type library into equivalent definitions in a common language runtime assembly. It would not be useful in this scenario however. D: This would not allow the COM application to use the class.

QUESTION NO: 5 You develop a Windows-based application called TestKingSecurity by using Visual Studio .NET and Microsoft SQL Server. The application will perform numerous Assert, Deny, and PermitOnly security operations while it is executing. You must ensure that the application is optimized for fast run-time execution. What should you do? A. B. C. D.

Perform declarative security checks. Perform imperative security checks. Perform all security checks by using SQL Server security. Implement a custom security class that retrieves security information from the SQL Server database.

Answer: A Explanation: Declarative security checks in the application would be the fastest solution. Reference: .NET Framework Developer's Guide, Performing Declarative Security Checks [Visual Basic] .NET Framework Developer's Guide , Adding Declarative Security Support [Visual Basic] Visual Basic and Visual C# Concepts, Adding Imperative Security Checks to Components Incorrect Answers A: Imperative security checks allow you to protect specific blocks of code by requiring appropriate permissions. It cannot be used for Assert, Deny, and PermitOnly security operations. C, D: SQL Server security would be more scalable, but less optimized.

Leading the way in IT testing and certification tools, www.testking.com -6-

070 - 306

QUESTION NO: 6 Another developer in your company uses Visual Studio .NET to create a component named TestKiComponent. You deploy TestKiComponent to a server. When you execute TestKiComponent, you receive the following error message: "System.Security.Policy.PolicyException: Failed to acquire required permissions." As quickly as possible, you need to discover which permissions are required by TestKiComponent. What should you do? A. Request the source code from the developer who created My Component. Examine the source code to find the required permissions. B. Run the Microsoft CLR Debugger (DbgCLR.exe) on the server to view the permissions requested by the application at run time. C. Run the Runtime Debugger (Cordbg.exe) on the server to view the permissions requested by the application at run time. D. Run the Permissions View tool (Permview.exe) on the server to view the permissions required by TestKiComponent. E. Run the MSIL Disassembler (IIdasm.exe) on the server to view permissions requested by TestKiComponent that were denied.

Answer: D Explanation: Developers can use Permview.exe to verify that they have applied permission requests correctly to their code. Additionally, users can run Permview.exe to determine the permissions an assembly requires to execute. Reference: .NET Framework Tools, Permissions View Tool (Permview.exe)

QUESTION NO: 7 You use Visual .NET to develop a Windows-based application whose project name is TestKingMgmt. You create an application configuration file that will be installed on the client computer along with TestKingMgmt. You must ensure that the settings in the application configuration file are applied when TestKingMgmt is executed. What should you do? A. Name the configuration file TestKingMgmt.exe.confing and copy it to the Windows\System32 folder. B. Name the configuration file TestKingMgmt.config and copy it to the Windows\System32 folder.

Leading the way in IT testing and certification tools, www.testking.com -7-

070 - 306 C. Name the configuration file TestKingMgmt.exe.config and copy it to the application folder. D. Name the configuration file TestKingMgmt.config and copy it to the application folder. E. Name the configuration file TestKingMgmt.exe.config and copy it to the global assembly cache.

Answer: C Explanation: The configuration file for an application hosted by the executable host is in the same directory as the application. The name of the configuration file is the name of the application with a .config extension. In this scenario the configuration file should named TestKingMgmt.exe.config and be placed in the application folder. Reference: .NET Framework Developer's Guide, Application Configuration Files

QUESTION NO: 8 You use Visual Studio .NET to develop a Windows-based application named Advocate Resource Assistant (ARA). ARA contains a class named Client. The client class is defined by the following code segment: Namespace Fabrikam.Buslayer Public Class Client Public Function GetPhone(clientID As Integer) As String 'More code goes here. End Function 'Other functions go here. End Class End NameSpace

The Client class is invoked from ARA by using the following code segment: Public Class ClientForm Inherits System.Windows.Forms.Form Private Sub SetPhoneNumber(ByVal PostalCode As String) Dim client as New Client() TextBox1.Text = client.GetPhone(postalCode) End Sub End Class

When you try to build your project, you receive the following error message: "Type 'Client' is not defined." What are two possible ways to correct this problem? (Each correct answer presents a complete solution. Choose two.)

Leading the way in IT testing and certification tools, www.testking.com -8-

070 - 306 A. B. C. D. E. F.

Fully qualify the Client class with the Fabrikam.BusLayer namespace. Fully qualify the Client class with ARA namespace. Import the Fabrikam.BusLayer namespace in the ClientForm class. Inherit the Fabrikam.BusLayer namespace in the ClientForm class. Declare the client object variable by using the WithEvents keyword. Declare the client object variable by using the Implements keyword.

Answer: A, C Explanation: A: We could use a fully qualified name; Fabrikam.Buslayer.Client C: We could import the Fabrikam.BusLayer namespace by creating an alias: Imports client = Fabrikam.Buslayer.Client Reference: Visual Basic Language Concepts, Namespaces

QUESTION NO: 9 You develop a Windows-based application. Its users will view and edit employee attendance data. The application uses a DataSet object named customDataSet to maintain the data while users are working with it. After a user edits data, business rule validation must be performed by a middle-tier component named myComponent. You must ensure that your application sends only edited data rows from customDataSet to myComponent. Which code segment should you use? A. Dim changeDataSet As New DataSet If customDataSet.HasChanges _ Then myComponent.Validate(changeDataSet) B. Dim changeDataSet As New DataSet If customDataSet.HasChanges _ Then myComponent.Validate(customDataSet) C. Dim changeDataSet AS DataSet = customDataSet.GetChanges() myComponent.Validate(changeDataSet) D. Dim changeDataSet As DataSet = customDataSet.GetChanges() myComponent.Validate(customDataSet)

Answer: C Explanation: DataSet.GetChanges method gets a copy of the DataSet containing all changes made to it since it was last loaded, or since AcceptChanges was called. It is used to create a second DataSet that features only the changes to the data. We then validate the changes, the changedDataSet.

Leading the way in IT testing and certification tools, www.testking.com -9-

070 - 306

Reference: .NET Framework Class Library, DataSet.GetChanges Method [Visual Basic] .NET Framework Class Library, DataSet Class [Visual Basic] Incorrect Answers A, B: We should create a dataset which contains only the changes. D: We should validate only the changes, not the whole dataset customerDataSet.

QUESTION NO: 10 As a programmer at TestKing inc, you use Visual Studio .NET to create several applications that will be deployed commercially over the Internet. You must ensure that customers can verify the authenticity of your software. Which action or actions should you take? (Choose all that apply.) A. B. C. D. E.

Sign your portable executables by using Signcode.exe. Generate an X.509 certificate by using Makecert.exe. Purchase an X.509 certificate from a certificate authority. Purchase a Software Publisher Certificate from a certificate authority. Convert your certificate to a Software Publisher Certificate by using Cert2spc.exe.

Answer: A, D Explanation: D: We must use a Software Publisher Certificate from a certificate authority. A: We then use this certificate to sign the portable executables with the Signcode.exe utility. Reference: Visual Basic and Visual C# Concepts, Code Security and Signing in Components .NET Framework Tools, File Signing Tool (Signcode.exe) .NET Framework Tools, Certificate Creation Tool (Makecert.exe) Windows Storage System Technical Articles, Microsoft Windows 2000 Public Key Infrastructure .NET Framework Tools, Software Publisher Certificate Test Tool (Cert2spc.exe) Incorrect Answers B: The Certificate Creation tool generates X.509 certificates for testing purposes only. C: We should use a Software Publisher Certificate, not a X.509 certificate. E: The Software Publisher Certificate Test tool creates a Software Publisher's Certificate (SPC) from one or more X.509 certificates. Cert2spc.exe is for test purposes only.

Leading the way in IT testing and certification tools, www.testking.com - 10 -

070 - 306

QUESTION NO: 11 You develop a Windows-based time and billing application named TestKingBilling. You create a simple user interface to capture user-entered data. The application passes an Object array of user-entered values to a function named AddUpDataTimeEntry. This function uses the LoadDataRow method of the Data Table object either to update an existing record in the table or to add a new record. When you test TestKingBilling, you frequently receive an exception of type InvalidCastException. What us the cause of this error? A. You are trying to load a duplicate value into a Data Table column that has a unique constraint. B. The number of items in your Object array does not match the number of columns in the Data Table object. C. The data that you are trying to load into a column is not the correct data type specified for that column. D. The columns in your Data Table object do not have the AllowDBNull property set to True.

Answer: C Explanation: InvalidCastException Class implements the exception that is thrown for invalid casting or explicit conversion. An InvalidCastException could be caused by an incorrect data type.

QUESTION NO: 12 You use Visual Studio .NET to create an assembly that will be consumed by other Visual Studio .NET applications. No Permissions should be granted to this assembly unless the assembly makes a minimum permission request for them. Which code segment should you use? A. B. C. D.

Answer: C

Leading the way in IT testing and certification tools, www.testking.com - 11 -

070 - 306 Explanation: The RequestOptional SecurityAction requests for additional permissions that are optional (not required to run). This action can only be used within the scope of the assembly. The assembly must have permission to request additional permission. Reference: .NET Framework Developer's Guide Requesting Optional Permissions [Visual Basic] .NET Framework Class Library, SecurityAction Enumeration [Visual Basic] Incorrect Answers: A, B: The PermitOnly SecurityAction does not support Assembly as a target, it only supports Class or Method as targets. D: The assembly must be able to request additional permissions.

QUESTION NO: 13 Your company TestKing Inc. standardizes on the .NET Framework as its software development platform. Subsequently, virus attacks cause your company to prohibit the execution of any applications downloaded from the Internet. You must ensure that all client computers on your intranet can execute all .NET applications originating from your company. You must also ensure that the execution of .NET applications downloaded from the Internet is prohibited. You must expend the minimum amount of administrative effort to achieve your goal. Which policy should you modify? A. B. C. D.

Application Domain. Enterprise Machine User

Answer: B Explanation: An Enterprise policy applies to the whole domain of the company. It would require minimal administrative effort to set up. Reference: .NET Framework Developer's Guide Security Policy Administration Overview Incorrect Answers: A: An Application Domain policy is defined by the runtime host (any application that hosts the common language runtime) for setting load-time policy. This level cannot be administered. C: A machine policy only applies to a single machine. D: A user policy only applies to a single user.

Leading the way in IT testing and certification tools, www.testking.com - 12 -

070 - 306

QUESTION NO: 14 You create a user control named ScrollControl, which you plan to sell to developers. You want to ensure that ScrollControl can be used only by developers who purchase a license to use it. You decide to use a license provider implemented by the LicFileLicenseProvider class. Now you need to add code to ScrollControl to test for a valid control license. Which two code segments should you add? (Each correct answer presents part of the solution. Choose two) A. B. C. In the Load event handler for ScrollControl, place the following code segment: Try LicenseManager.Validate(GetType(ScrollControl)) Catch ex As Exception 'Insert code to disallow use. End Try D. In the Load event handler for ScrollControl, place the following code segment: Try Dim ControlLicense As License ControlLicense = _ LicenseManager.Validate(GetType(ScrollControl), Me) Catch ex As Exception 'Insert code to disallow use. End Try E. In the Load event handler for ScrollControl, place the following code segment: Try Dim bLicensed As Boolean bLicensed = _ LicenseManager.IsValid(GetType(ScrollControl)) Catch ex As Exception 'Insert code to disallow use. End Try F. In the Load event handler for ScrollControl, place the following code segment: Try Dim bLicensed As Boolean Dim ControlLicense As License bLicensed = _ LicenseManager.IsValid(GetType(ScrollControl),Me, _ ControlLicense)

Leading the way in IT testing and certification tools, www.testking.com - 13 -

070 - 306 Catch ex As Exception 'Insert code to disallow use. End Try

Answer: A, D Explanation: To enable licensing for your component 1. Apply a LicenseProviderAttribute to the LicFileLicenseProvider class. This is A). 2. Call LicenseManager.Validate or LicenseManager.IsValid in the constructor. This is D). A: When you create a component that you want to license, you must specify the LicenseProvider by marking the component with a LicenseProviderAttribute. This is accomplished by:

D: LicenseManager.Validate produces a license. The correct code to handle this is: Dim ControlLicense As License ControlLicense = LicenseManager.Validate(GetType(ScrollControl), Me) Reference: .NET Framework Developer's Guide, Licensing Components and Controls [Visual Basic] .NET Framework Class Library, LicenseProviderAttribute Class [Visual Basic] Incorrect Answers B: The LicFileLicenseProvider class, not ScrollControl class must be used. C: The result of LicenseManager.Validate must be caught in a license variable. E, F: The result of LicenseManager.Validate must be caught in a license variable, not a Boolean variable

QUESTION NO: 15 As a software developer at TestKing inc. you use Visual Studio .NET to create a Windows-based application. You need to make the application accessible to users who have low vision. These users navigate the interface by using a screen reader, which translates information about the controls on the screen into spoken words. The screen reader must be able to identify which control currently has focus. One of the TextBox controls in your application enables users to enter their names. You must ensure that the screen reader identifies this TextBox control by speaking the word "name" when a user changes focus to this control. Which property of this control should you configure? A. B. C. D. E.

Tag Next Name AccessibleName AccessibleRole

Leading the way in IT testing and certification tools, www.testking.com - 14 -

070 - 306

Answer: D Explanation: The AccessibleName property is the name that will be reported to the accessibility aids. Reference: Visual Basic and Visual C# Concepts, Providing Accessibility Information for Controls on a Windows Form Visual Basic and Visual C# Concepts, Walkthrough: Creating an Accessible Windows Application Incorrect Answers A, B, C: The Tag, Next and Name properties of a control is not used directly by accessibility aids. E: The AccessibleRole property describes the use of the element in the user interface.

QUESTION NO: 16 You develop a Windows-based application that creates XML output from a DataSet object. The XML output is created by using the DataSet.WriteXml method and then is sent to another application. The second application requires the output to appear in the following format:

You need to write code to specify the format for the XML output. Which code segment should you use? A. ds.WriteXml(dataFile, _ XmlWriteMode.WriteSchema) B. ds.WriteXml(dataFile, _ XmlWriteMode.IgnoreSchema) C. Dim c As DataColumn For Each C in ds.Tables("employee").Columns c.ColumnMapping = MappingType.Attribute Next D. Dim c As DataColumn For Each c In ds.Tables("employee").Columns c.ColumnMapping = MappingType.Element Next

Answer: C Explanation: We want to produce an attribute list with no tags. The WriteSchema XmlWriteMode writes the current contents of the DataSet as XML data with the relational structure as inline XML Schema as is required in this scenario.

Leading the way in IT testing and certification tools, www.testking.com - 15 -

070 - 306 Reference: .NET Framework Class Library, MappingType Enumeration .NET Framework Developer's Guide, Writing a DataSet as XML Data [Visual Basic] NET Framework Class Library. DataSet.WriteXml Method [Visual Basic]

Incorrect Answers All the other proposed solutions are inadequate since they would produce a tagged output:

3 Paul 29

QUESTION NO: 17 You are developing a Windows-based application that logs hours worked by your employees. Your design goals require you to maximize application performance and minimize impact on server resources. You need to implement a SqlCommand object that will send a SQL INSERT action query to a database each time a user makes a new entry. To create a function named LineltemInser, you write the following code: (Line numbers are included for reference only.) 01 02 03 04 05 06 07 08 09 10 11 12 13

Function LineItemInsert(ByVal empid As Integer, _ ByVal projectID As Integer, ByVal hrs As Decimal, _ ByVal cnn As SqlConnection) As Integer Dim SQL As String Dim Ret As Integer SQL = "INSERT INTO TimeEntries " & _ "(EmpID, ProjectID, Hours) VALUES " & _ "(" & empID & projectID & ", " & hrs & ") " Dim cmd As New SqlCommand(SQL, cnn) 'Insert new code. End Function

Your code must execute the SQL INSERT action query and verify the number of database records that are affected by the query. Which code segment should you add on line 11? A. cnn.Open()

Leading the way in IT testing and certification tools, www.testking.com - 16 -

070 - 306 Ret = Cmd.ExecuteNonQuery() cnn.Close() Return Ret B. cnn.Open() Ret = cmd.ExecuteScalar() cnn.Close() Return Ret C. Dim reader as SqlDataReader cnn.Open() reader = cmd.ExecuteReader() cnn.Close() Return reader.RecordsAffected D. Dim reader As SqlDataReader cnn.Open() reader = cmd.ExecuteReader() cnn.Close() Return reader.GetValue()

Answer: A Explanation: The SqlCommand.ExecuteNonQuery Method Executes a Transact-SQL statement against the Connection and returns the number of rows affected. This is the most effective solution. Reference: .NET Framework Class Library, SqlCommand.ExecuteNonQuery Method [Visual Basic] .NET Framework Class Library, SqlCommand.ExecuteScalar Method [Visual Basic] .NET Framework Class Library, SqlDataReader Class [Visual Basic] .NET Framework Class Library, SqlDataReader.RecordsAffected Property [Visual Basic] Incorrect Answers B: The SqlCommand.ExecuteScalar method executes the query, and returns the first column of the first row in the resultset returned by the query. Extra columns or rows are ignored. C: There is no need use the ExecuteReader() method. Note: The SqlDataReader.RecordsAffected property gets the number of rows changed, inserted, or deleted by execution of the Transact-SQL statement. D: There is no need use the ExecuteReader() method.

QUESTION NO: 18 You use Visual Studio .NET to develop a Windows-based application. You implement security by using the security classes of the .NET Framework. Your application includes the following procedure. (Line numbers are included for reference only)

Leading the way in IT testing and certification tools, www.testking.com - 17 -

070 - 306 01 02 03 04 05 06 07 08 09 10

Public Sub ApproveVacation(ByVal user 1 As String, ByVal role1 As string, ByVal, user 2 As String, _ ByVal role2 As String) Dim PrincipalPerm1 As _ New PrincipalPermission(user1, role1) Dim principalPerm2 As _ New PrincipalPermission(user2, role2) 'Insert new code. 'Additional procedure code goes here End Sub

You must ensure that both User1 and User2 are members of the same security roles. Which code segment should you insert on line 8? A. principalPerm1.IsUnrestricted principalPerm2.IsUnrestricted B. principalPerm1.IsSubSetOf(principalPerm2) C. principalPerm1.Intersect(principalPerm2).Demand() D. principalPerm1.Union(principalPerm2).Demand()

Answer: B Explanation: The IsSubsetOf method returns true only if the identities and roles match exactly (or one of them are NULL). Reference: .NET Framework Developer's Guide, Combining PrincipalPermission Objects [Visual Basic] Incorrect Answers A: We must compare the PrincipalPermission objects with each other. C: The Intersect method, used to intersect two PrincipalPermission objects, return a PrincipalPermission object that represents the identity and role common to the intersected objects. D: Performing a union operation on two PrincipalPermission objects can be useful when you want to compactly represent a set of conditions that you want to test. This is not the case here however.

QUESTION NO: 19 You use Visual Studio .NET to create an application that uses an assembly. The assembly will reside on the client computer when the application is installed. You must ensure that any future applications installed on the same computer can access the assembly. Which two actions should you take? (Each correct answer presents part of the solution. Choose two) A. Use XCOPY to install the assembly in the global assembly cache. B. Use XCOPY to install the assembly in the Windows\Assembly folder.

Leading the way in IT testing and certification tools, www.testking.com - 18 -

070 - 306 C. D. E. F. G.

Create a strong name for the assembly. Recompile the assembly by using the Native Image Generator (Ngen.exe). Modify the application configuration file to include the assembly. Use a deployment project to install the assembly in the global assembly cache. Use a deployment project to install the assembly in the Windows\System32 folder.

Answer: C, F Explanation: The global assembly cache stores assemblies specifically designated to be shared by several applications on the computer. C: An assembly must have a strong name to be installed in the global assembly cache. F: There are two ways to install an assembly into the global assembly cache: • Using Microsoft Windows Installer 2.0. This could be achieved by a deployment project. • Using the Global Assembly Cache tool (Gacutil.exe). This is not an option here. Reference: .NET Framework Developer's Guide, Working with Assemblies and the Global Assembly Cache .NET Framework Developer's Guide, Installing an Assembly into the Global Assembly Cache

QUESTION NO: 20 You use Visual Studio .NET to develop a Windows-Bases application named PatTrac. It uses the security class libraries of the .NET Framework to implement security. PatTrac will run within the context of a Windows 2000 domain named MedicalOffice. Calls to a remote Windows 2000 domain named TestKing will occur during the execution of PatTrac. You want PatTrac to log on to the TestKing domain by using a generic user account. What should you do? A. Create a new instance of the WindowsImpersonationContext class by calling the Impersonate method of the Genericidentity object and passing the token of the user whom you want to impersonate. B. Create a new instance of the WindowsImpersonationContext class by calling the Impersonate method of the WindowsIdentify object and passing the token of the user whom you want to impersonate. C. Create a new instance of the ZoneIdentifyPermission class by calling the Impersonate method of the GenericPrincipal object and passing the token of the user whom you want to impersonate. D. Create a new instance of the ZoneIdentifyPermission class by calling the Impersonate method of the WindowsPrincipal object and passing the token of the user whom you want to impersonate.

Answer: B Explanation: We must impersonate another user. The WindowsImpersonationContext Class, not ZoneIdentifyPermission class, should be used. Furthermore the Impersonate method must be used on a Windowsidentity object, not on a Genericidentity object.

Leading the way in IT testing and certification tools, www.testking.com - 19 -

070 - 306

Reference: .NET Framework Class Library, WindowsImpersonationContext Class [Visual Basic]

QUESTION NO: 21 You use Visual Basic .NET to develop a Windows-based application. You plan to reuse a procedure written in Visual Basic 6.0. The procedure includes the following array declaration: Dim Employees(1 to 10) As String You copy and paste the array declaration from the Visual Basic 6.0 project into the new Visual Basic .NET project. Now you must ensure that the Employees array will compile in the Visual Basic .NET application. What should you do? A. Include the Option Base 1 statement in the Declaration section of the module. B. Include the Option Base 0 statement in the Declaration section of the module. C. Replace the Dim statement with the following code segment: Dim Employees(0 to 9) As String D. Replace the Dim statement with the following code segment: Dim Employees(9) As String E. After the Dim statement, add the following code segment: ReDim Employees(0 to 9) As String F. After the Dim statement, add the following code segment: ReDim Employees(9) As String

Answer: D Explanation: Array lower bounds is supported in Visual Basic 6.0, but not in Visual Basic .Net. Reference: Visual Basic Language Reference, Dim Statement

QUESTION NO: 22 You develop a Windows Form that provides online help for users. You want the help functionality to be available when users press the F1 key. Help text will be displayed in a pop-up window for the text box that has focus. To implement this functionality, you need to call a method of the HelpProvider control and pass the text box and the help text. Which method should you call? A. SetShowHelp

Leading the way in IT testing and certification tools, www.testking.com - 20 -

070 - 306 B. SetHelpString C. SetHelpKeyword D. ToString

Answer: B Explanation: To associate a specific Help string with another control, use the SetHelpString method. The string that you associate with a control using this method is displayed in a pop-up window when the user presses the F1 key while the control has focus. Reference: Visual Basic and Visual C# Concepts, Introduction to the Windows Forms HelpProvider Component

QUESTION NO: 23 You use Visual Studio .NET to create a Windows-based application. The application captures screen shots of a small portion of the visible screen. You create a form named TestKingCameraForm. You set the TestKingCameraForm.BackColor property to Blue. You create a button on the form to enable users to take a screen shot. Now, you need to create a transparent portion of TestKingCameraForm to frame a small portion of the screen. Your application will capture an image of the screen inside the transparent area. The resulting appearance of TestKIngCameraForm is shown in the exhibit:

Leading the way in IT testing and certification tools, www.testking.com - 21 -

070 - 306

You add a Panel control to TestKingCameraForm and name it transparentPanel. You must ensure that any underlying applications will be visible within the panel. Which two actions should you take? (Each correct answer presents part of the solution. Choose two.) A. B. C. D. E. F. G.

Set transparentPanel.BackColor to Red. Set transparentPanel.BackColor to Blue. Set transparentPanel.BackgroundImage to None. Set transparentPanel.Visible to False. Set CameraForm.Opacity to 0%. Set CameraForm.TransparencyKey to Red. Set CameraForm.TransparencyKey to Blue.

Leading the way in IT testing and certification tools, www.testking.com - 22 -

070 - 306

Answer: A, F Explanation: A: We set the Background color of the Panel to Red. F: We then the transparency color of the Form to Red as well. This will make only the Panel transparent, since the background color of the form is Blue.

QUESTION NO: 24 You develop an inventory management application called TestKingManagement that will call a Microsoft SQL Server stored procedure named sp_GetDailyTestKingSales. The stored procedure will run a query that returns your daily sales total as an output parameter. This total will be displayed to users in a message box. Your application uses a SqlCommand object to run sp_GetDailyTestKingSales. You write the following code to call sp_GetDailyTestKingSales: Dim cnn As SqlConnection = New SqlConnection(myConnString) Dim cmd As SqlCommand = New _ SqlCommand("sp_GetInventoryLevel", cnn) cmd.CommandType = CommandType.StoredProcedure Dim parm As SqlParameter = cmd.Parameters.Add( __ "@ItemTotal", SqlDbType.Int) parm.Direction =ParameterDirection.Output cnn.Open() cmd.ExecuteNonQuery() Now you must write additional code to access the output parameter. Which code segment should you use? A. MessageBox.Show("Total is: " & _ cmd.Parameters("@Output").Value.ToString()) B. MessageBox.Show("Total is: " & _ cmd.Parameters("@Output").ToString()) C. MessageBox.Show("Total is: " & _ cmd.Parameters("@ItemTotal").Value.ToString()) D. MessageBox.Show("Total is: " & _ cmd.Parameters("@ItemTotal").ToString())

Answer: C Explanation: The @ItemTotal parameter is declared as an output parameter with SQL Server data type INT. We use the Value property of the SQLParameter class to retrieve the value of this parameter. We must also

Leading the way in IT testing and certification tools, www.testking.com - 23 -

070 - 306 convert the INT value to a string value with the ToString method. We then supply this string to the MessageBox.Show method. Reference: .NET Framework Class Library, SqlParameter Class [Visual Basic] .NET Framework Class Library, SqlParameter.Direction Property [Visual Basic] .NET Framework Class Library, SqlParameter.SqlDbType Property [Visual Basic] .NET Framework Class Library, SqlParameter.Value Property [Visual Basic] Incorrect Answers A, B: The @ItemTotal parameter is the output parameter. Using @Output this way is incorrect. Output is a keyword and no variable named @Output has been declared. D: We must use the Value method to retrieve the value of the parameter.

QUESTION NO: 25 You develop a Windows-based application to manage business contacts. The application retrieves a list of contacts from a central database called TestKingDB. The list of contacts is managed locally in a DataSet object named contactDataSet. To set the criteria for retrieval, your user interface must enable users to type a city name into a TextBox control. The list of contacts that match this name must be displayed in a DataGrid control. Which code segment should you use? A. Dim dv As New DataView() With dv .Table = contactDataSet.Tables(0) .RowFilter = TextBox1.Text End With DataGrid1.DataSource = dv B. Dom dv As New DataView() With dv .Table = contactDataSet.Tables(0) .RowFilter = "City = '" & TextBox1.Text & "'" End With DataGrid1.DataSource = dv C. Dim dv As New DataView() With dv .Table = contactDataSet.Tables(0) .Sort = TextBox1.Text End With DataGrid1.DataSource = dv D. Dim dv As New DataView()

Leading the way in IT testing and certification tools, www.testking.com - 24 -

070 - 306 With dv .Table = contactDataSet.Tables(0) .Sort = "city = '" & TextBox1.Text & "'" End With DataGrid1.DataSource = dv

Answer: B Explanation: To form a RowFilter value, specify the name of a column followed by an operator and a value to filter on. The value must be in quotes. Here we use construct the rowfilter with the = operator, string concatenation (&) and the TextBox1.Text property. Reference: .NET Framework Class Library, DataView.RowFilter Property [Visual Basic] Incorrect Answers A: We must use the = operator and construct an expression. We cannot just use a value. C, D: We want to filter the Dataset, not to sort it.

QUESTION NO: 26 You develop a Windows-based application named TestKingPurchase that exchanges data with an accounting application. Purchase receives purchase order data from the accounting application in XML format. Users of TestKingPurchase review and edit the data. TestKingPurchase maintains the data in a DataSet object while users are working. When they are finished making changes, TestKingPurchase must create an output file that will be returned to the accounting application. For verification and auditing purposes, the accounting application must receive both the user changes and the original values. Now you need to write code that will create the output file. What should you do? A. B. C. D.

Call the DataSet.WriteXmlSchema method and specify a TextWriter object as the argument. Call the DataSet.WriteXmlSchema method and specify an XmlWriter object as the argument. Call the DataSet.WriteXml method and specify WriteSchema as the XmlWriteMode parameter. Call the DataSet.WriteXml method and specify DiffGram as the XmlWriteMode parameter.

Answer: D Explanation: A DiffGram is an XML format that is used to identify current and original versions of data elements. Here we use the DataSet.WriteXml method with the Diffgram XmlWriteMode to write the entire DataSet as a DiffGram, including original and current values. Reference: .NET Framework Developer's Guide, DiffGrams

Leading the way in IT testing and certification tools, www.testking.com - 25 -

070 - 306 .NET Framework Developer's Guide, Writing a DataSet as XML Data [Visual Basic]

Incorrect Answers A, B: We want to write the Dataset in XML format, not as an XML schema. C: The WriteSchema XmlWriteMode writes only the current contents of the DataSet as XML data (with the relational structure as inline XML Schema).

QUESTION NO: 27 You develop an application that enables users to enter and edit purchase order details. The application includes a Windows Form named DisplayTestKingForm. The application uses a client-side DataSet object to manage data. The DataSet object contains a Data Table object named TestKingDetails. This object includes one column named Quantity and another named UnitPrice. For each item on a purchase order, your application must display a line item total in a DataGrid control on DisplayTestKingForm. The line item is the product of Quantity times UnitPrice. Your database design does not allow you to store calculated values in the database. You need to add code to your Form_Load procedure to calculate and display the line item total. Which code segment should you use? A. Dim totalColumn As New DataColumn("Total", _ Type.GetType("System.Decimal")) TestKingDetails.Columns.Add(totalColumn) totalColumn.Expression = "Quantity * UnitPrice" B. Dim totalColumn As New DataColumn("Total", _ Type.GetType("System.Decimal")) TestKingDetails.Columns.Add(totalColumn) totalColumn.Equals("Quantity * UnitPrice") C. TestKingDetails.DisplayExpression("Quantity * UnitPrice") D. TestKingDetails.DisplayExpression("quantityColumn + _ unitPriceColumn")

Answer: A Explanation: We use the Expression property of the DataColumn object calculate the values in the column. Reference: .NET Framework Developer's Guide, Creating Expression Columns [Visual Basic] .NET Framework Class Library, DataColumn Class [Visual Basic] .NET Framework Class Library, Object.Equals Method (Object) [Visual Basic] .NET Framework Class Library, DataTable.DisplayExpression Property [Visual Basic]

Leading the way in IT testing and certification tools, www.testking.com - 26 -

070 - 306

Incorrect Answers B: The Equals method cannot be used in this way. The equals method is used to test if different objects are equal. C, D: The DisplayedExpression would be set to a string value, not a calculated value.

QUESTION NO: 28 Your company TestKing, uses Visual Studio .NET to develop internal applications. You create a Windows control that will display custom status bar information. Many different developers at TestKing will use the control to display the same information in many different applications. The control must always be displayed at the bottom of the parent form in every application. It must always be as wide as the form. When the form is resized, the control should be resized and repositioned accordingly. What should you do? A. Create a property to allow the developers to set the Dock property of the control. Set the default value of the property to AnchorStyle.Bottom. B. Create a property to allow the developer to set the Anchor property of the control. Set the default value of the property to AnchorStyle.Bottom. C. Place the following code segment in the UserControl_Load event: Me.Dock = DockStyle.Bottom D. Place the following code segment in the UserControl_Load event: Me.Anchor = AnchorStyle.Bottom

Answer: C Explanation: DockStyle.Bottom docks the control to the bottom of the form. This will force the control to be as wide as to form. Furthermore the control will be resized automatically. Reference: Visual Basic and Visual C# Concepts, Aligning Your Control to the Edges of Forms NET Framework Class Library, AnchorStyles Enumeration [Visual Basic] Incorrect Answers A: There is no need to the other developers to set the Dock property. B: The Dock property should be used. D: The Anchorstyle class specifies how a control anchors to the edges of its container. Not how a control is docked.

Leading the way in IT testing and certification tools, www.testking.com - 27 -

070 - 306 QUESTION NO: 29 You use Visual Studio .NET to develop applications for your human resources department. You create the following interfaces: Public Interface IEmployee Property Salary() As Double End Interface Public Interface IExecutive Inherits IEmployee Property AnnualBonus() As Double End Interface The IEmployee interface represents a generic Employee concept. All actual employees in your company should be represented by interfaces that are derived from IEmployee. Now you need to create a class named Managed to represent executives in your company. You want to create this class by using the minimum amount of code. You write the following code: Public Class Manager End class Which additional code segment or segments should you include in Manager? (Choose all that apply) A. B. C. D. E. F.

Implements IExecutive Implements IEmployee, IExecutive Inherits IExecutive Inherits IEmployee, IExecutive Property Salary() As Double Implements IExecutive.Salary Property AnnualBonus() As Double Implements _ IExecutive.AnnualBonus

Answer: A, E, F A: A class can implement an Interface. The Manager class should implement the IExecutive interface. E, F: The properties that are defined in the Interface must be implemented in a Class. Incorrect Answers B: The class should not implement both Interfaces, just the IExecutive interface. C, D: A class cannot inherit from an Interface.

Explanation: The Manager Class only needs to inherit from the IExecutive class. The Manager class inherits the AnnualBonus property from the IExecutie class and the Salary property from the IEmployee class (since IExecutive inherits from IEmployee).

Leading the way in IT testing and certification tools, www.testking.com - 28 -

070 - 306 There is no need to define any properties for the new class. Reference: Visual Basic Language Concepts, Inheritance Basics

QUESTION NO: 30 Your development team is creating a new Windows-based application for the TestKing company. The application consists of a user interface and several XML Web services. You develop all XML Web services and perform unit testing. Now you are ready to write the user interface code. Because some of your servers are being upgraded, the XML Web service that provides mortgage rates is currently offline. However, you have access to its description file. You must begin writing code against this XML Web service immediately. What should you do? A. B. C. D.

Generate the proxy class for the XML Web service by using Disco.exe. Generate the proxy class for XML Web service by using Wsdl.exe. Obtain a copy of the XML Web service assembly and register it on your local development computer. Add the description file for the XML Web service to your Visual Studio .NET project.

Answer: B Explanation: Ordinarily to access an XML Web service from a client application, you first add a Web reference, which is a reference to an XML Web service. When you create a Web reference, Visual Studio creates an XML Web service proxy class automatically and adds it to your project. However, you can manually generate a proxy class using the XML Web services Description Language Tool, Wsdl.exe, used by Visual Studio to create a proxy class when adding a Web reference. This is necessary when you are unable to access the XML Web service from the machine on which Visual Studio is installed, such as when the XML Web service is located on a network that will not be accessible to the client until run time. You then manually add the file that the tool generated to your application project. Reference: Visual Basic and Visual C# Concepts, Locating XML Web Services Visual Basic and Visual C# Concepts, Generating an XML Web Service Proxy

QUESTION NO: 31 You develop a Windows-based application that includes the following code segment. (Line numbers are included for reference only.) 01 Public Sub password_Validating (ByVal sender As _ 02 Object, ByVal e As _

Leading the way in IT testing and certification tools, www.testking.com - 29 -

070 - 306 03 System.ComponentModel.CancelEventArgs) 04 Handles password.Validating 05 If ValidPassword() = False Then 06 'Insert new code. 07 End If 08 End Sub You must ensure that users cannot move control focus away from textPassword if ValidPassword returns a value of False. You will add the required code on line 6. Which code segment should you use? A. B. C. D.

e.Cancel = True sender = textName password.AcceptsTab = False password.CausesValidation =False

Answer: A Explanation: We cancel the validation of the control. Reference: Visual Basic Reference, CausesValidation Property (ActiveX Controls) Visual Basic Reference, Validate Event (ActiveX Controls) Incorrect Answers B: This assignment does not make much sense. C: Does not apply. D: Setting Causevalidation to False would disable the Validate event. This will not prevent the focus to moved away from the control.

QUESTION NO: 32 You develop a Windows-based application that contains a class named Contact. Contact contains an event named ContactSaved. Many Contact objects will be created from the Contact class and inserted into an array named Contacts. You create a custom method named HandleContactSaved in your application. You must ensure that your application calls HandleContactSaved whenever the ContactSaved event is fired for any of the Contact objects. What should you do? A. Use the WithEvents keyword to declare each Contact object. Add each Contact object to the Contacts array as it is created. B. Add each Contact object to the Contacts array as it is created.

Leading the way in IT testing and certification tools, www.testking.com - 30 -

070 - 306 Add the Handles keyword to HandleContactSaved. C. Add each Contact object to the Contacts array as it is created. Assign HandleContactSaved to the Handle property of the HandleRef structure. D. Add each Contact Object to the Contacts array as it is created. Call the AddHandler statement and pass the new Contact object and the address of HandleContactSaved.

Answer: D Explanation: The standard way to create an event handler is to use the Handles keyword with the WithEvents keyword. You can use the AddHandler statement to dynamically connect events with event handler procedures. To handle events using AddHandler 1. Declare an object variable of the class that is the source of the events you want to handle. 2. Use the AddHandler statement to specify the name of the event sender, and the AddressOf statement to provide the name of your event handler.

Reference: Visual Basic Language Concepts, Writing Event Handlers Incorrect Answers A: We would have to use a Handles clause for the HandleContactSaved method as well. Only declaring WithEvents is not sufficient. B: The Handles keyword is used to declare that a procedure handles a specified event. We must however specify the event. C: This proposed solution does not work.

QUESTION NO: 33 You develop an enterprise application, called TestKingApplication that includes a Windows Forms presentation layer, middle-tier components for business logic and data access, and a Microsoft SQL Server database. You are in the process of creating a middle-tier component that will execute the data access routines in your application. When data is passed to this component, the component will call several SQL Server stored procedures to perform database updates. All of these procedure calls run under the control of a single transaction. The code for the middle-tier will implement the following objects: Dim cn As New SqlConnection() Dim tr As SqlTransaction If two users try to update the same data concurrently, errors will occur. You must add code to your component to specify the highest possible level of protection against such errors.

Leading the way in IT testing and certification tools, www.testking.com - 31 -

070 - 306 Which code should you use? A. B. C. D.

tr tr tr tr

= = = =

cn.BeginTransaction("ReadCommitted") cn.BeginTransaction(IsolationLevel.ReadCommitted) cn.BeginTransaction(IsolationLevel.Serializable) cn.BeginTransaction("Serializable")

Answer: C Explanation: Serializable is the highest isolation transaction level. It provide the highest possible level of protection against concurrent data errors. The correct syntax to begin a transaction with this transaction isolation level is: cn.BeginTransaction(IsolationLevel.Serializable) Reference: .NET Framework Class Library, SqlConnection.BeginTransaction Method (IsolationLevel) [Visual Basic] .NET Framework Class Library, IsolationLevel Enumeration [Visual Basic] Incorrect Answers A: Incorrect syntax. B: The ReadCommitted transaction isolation level can result in in non-repeatable reads or phantom data. It does not give the highest possible protection from parallel updates. D: Incorrect syntax.

QUESTION NO: 34 You develop a Windows-based application TestK. TestK uses a DataSet object that contains two DataTable objects. TestK will display data from two data tables. One table contains customer information, which must be displayed in a data-bound ListBox control. The other table contains order information, which must be displayed in a DataGrid control. You need to modify TestK to enable the list box functionality. What should you do? A. B. C. D.

Use the DataSet.Merge method. Define primary keys for the Data Table objects. Create a foreign key constraint on the DataSet object. Add a DataRelation object to the Relations collection of the DataSet object.

Answer: D Explanation: We want to use data from both DataTable object. We must relate the DataTable objects. A DataRelation is used to relate two DataTable objects to each other through DataColumn objects. DataRelation objects are contained in a DataRelationCollection, which you can access through the Relations property of the DataSet.

Leading the way in IT testing and certification tools, www.testking.com - 32 -

070 - 306

Reference: .NET Framework Class Library, DataRelation Class [Visual Basic] .NET Framework Class Library, DataSet.Merge Method (DataSet) [Visual Basic] .NET Framework Class Library, ForeignKeyConstraint Class [Visual Basic]

Incorrect Answers A: The Merge method is used to merge two DataSet objects that have largely similar schemas. In this scenario we want combine the information from the DataTable objects, not merge them B: Creating a primary key for each Data Table object would not relate the DataTable objects. C: We should use a Datarelation, not a foreign key constraint, to relate the DataTable objects. Note: A foreign key constraint represents an action restriction enforced on a set of columns in a primary key/foreign key relationship when a value or row is either deleted or updated.

QUESTION NO: 35 You develop a Windows-based application called TestKingApplication by using Visual Studio .NET. TestKingApplication receives XML data files from various external suppliers. An XML Schema file defines the format and the data types for the XML data files. TestKingApplication must parse the incoming XML data files to ensure that they conform to the schema. What should you do? A. B. C. D.

Implement a DataSet object and code an event handler to process its events. Implement a DataSet object and set its Enforce Constraints property to True. Implement an XmlValidatingReader object and code an event handler to process its events. Implement an XmlValidatingReader object and examine its ReadState property after reading the XML data file.

Answer: C Explanation: The XmlValidatingReader class, an implementation of the XmlReader class, provides support for XML validation. The ValidationEventHandler event is used to set an event handler for receiving information about schema validation errors.

Reference: .NET Framework Developer's Guide, Validation of XML with XmlValidatingReader .NET Framework Developer's Guide, XmlValidatingReader Validation Event Handler Callback [Visual Basic]

QUESTION NO: 36

Leading the way in IT testing and certification tools, www.testking.com - 33 -

070 - 306 You use Visual Studio .NET to create an application. Your application contains two classes, Region and City, which are defined in the following code segment. (Line numbers are included for reference only.) 01 02 03 04 05 06 07 08 09 10 11

Public Class Region Public Overridable Sub CalculateTax() 'Code to calculate tax goes here. End Sub End Class Public Class City Inherits Region Public Overrides Sub CalculateTax() 'Insert new code. End Sub End Class

You need to add code to the CalculateTax method of the City class to call the CalculateTax method of the Region class. Which code segment should you add on line 9? A. B. C. D.

CalculateTax() Me.CalculateTax() MyBase.CalculateTax() MyClass.CalculateTax()

Answer: C Explanation: The MyBase keyword to call methods in a base class when overriding methods in a derived class. Reference: Visual Basic Language Concepts, Inheritance Basics Visual Basic Language Specification, 4.5.1 Overriding Methods

QUESTION NO: 37 You are maintaining a Visual Studio .Net application that was developed by a colleague at TestKing inc. The application calculates interest and penalties for financial transactions. All variables that contain financial data are defined as type Double. When users enter financial data, the application periodically fails during execution. Failure occurs in response to a variety of actions. The application returns the following error message: "Arithmetic operation resulted in an overflow" You need to identify as many potential exceptions as possible in the application code. What should you do?

Leading the way in IT testing and certification tools, www.testking.com - 34 -

070 - 306 A. B. C. D. E. F.

Set Option Explicit to On. Set Option Explicit to Off. Set Option Strict to On. Set Option Strict to Off. Set Option Compare to Binary. Set Option Compare to Text.

Answer: C Explanation: The Options Strict statement concerns which conversion are allowed. Option Strict ON disallows any data type conversions in which data loss would occur and any conversion between numeric types and strings. In short it help to identify potential arithmetic exceptions. Reference: Visual Basic Language Reference, Option Strict Statement Visual Basic Compiler Options, /optionexplicit Visual Basic Language Reference, Option Compare Statement Incorrect Answers A: The /optionexplicit causes the compiler to report errors if variables are not declared prior to use. It would not help finding potential exceptions however. B: Disabling variable declaration checking will not help finding exceptions. D: Setting Options Strict to Off disables type conversion checks. We should enable these checks. E, F: The Option Compare statement is used at file level to declare the default comparison method to use when string data is compared. This setting would not help finding exceptions.

QUESTION NO: 38 You use Visual Studio .NET to create a Windows Form named TestKingForm. You add a custom control named BarGraph, which displays numerical data. You create a second custom control named DataBar. Each instance of DataBar represents one data value in BarGraph. BarGraph retrieves its data from a Microsoft SQL Server database. For each data value that it retrieves, a new instance of DataBar is added to BarGraph. BarGraph also includes a Label control named DataBarCount, which displays the number of DataBar controls currently contained by BarGraph. You must add code to one of your custom controls to ensure that DataBarCount is always updated with the correct value. What are two possible ways to achieve this goal? (Each correct answer presents a complete solution. Choose two) A. Add the following code segment to the ControlAdded event handler for DataBar: Me.DataBarCount.Text = Me.Controls.Count() B. Add the following code segment to the ControlAdded event handler for DataBar: Me.DataBarCount.Text = Parent.Controls.Count()

Leading the way in IT testing and certification tools, www.testking.com - 35 -

070 - 306 C. Add the following code segment to the ControlAdded event handler for BarGraph: DataBarCount.Text = Me.Controls.Count() D. Add the following code segment to the constructor for BarGraph: Me.Parent.DataBarCount.Text = Me.Controls.Count() E. Add the following code segment to the constructor for DataBar: Me.Parent.DataBarCount.Text = Me.Controls.Count() F. Add the following code segment to the AddDataPoint method of BarGraph: DataBarCount.Text = Me.Controls.Count()

Answer: C, E Explanation: We could either catch the ControlAdded event, or add code the constructor. C: The Control.ControlAdded Event occurs when a new control is added to the Control.ControlCollection. When a control is added to BarGraph we could set the count of controls to the number of current controls in BarGraph. E: Every time a new DataBar is constructed we could set the counter. Reference: .NET Framework Class Library, Control.ControlAdded Event [Visual Basic] Incorrect Answers A, B: Controls are added to BarGraph not to the DataBar. D: DataBars, not BarGraphs, are constructed. F: The AddDataPoint method does not apply.

QUESTION NO: 39 You use Visual Studio .NET to develop a Windows-based application called TestKingApp. Your application will display customer order information from a Microsoft SQL Server database. The orders will be displayed on a Windows Form in a data grid named DataGrid1. DataGrid1 is bound to a DataView object. The Windows Form includes a button control named displayBackOrder. When users click this button, DataGrid1 must display only customer orders whose BackOrder value is set to True. How should you implement this functionality? A. B. C. D.

Set the RowFilter property of the DataView object to "BackOrder = True". Set the RowStateFilter property of the DataView object to "BackOrder = True". Set the Sort property of the DataView object to "BackOrder = True". Set the ApplyDefaultSort property of the DataView object to True.

Answer: A Explanation: Using the RowFilter property of a data view, you can filter records in a data table to make available only records you want to work with.

Leading the way in IT testing and certification tools, www.testking.com - 36 -

070 - 306

Reference: Visual Basic and Visual C# Concepts, Introduction to Filtering and Sorting in Datasets Visual Basic and Visual C# Concepts, Filtering and Sorting Data Using Data Views Incorrect Answers B: To filter based on a version or state of a record, set the RowStateFilter property. It does not apply here. C, D: We want to filter, not sort the data view.

QUESTION NO: 40 You develop a Windows-based application for tracking telephone calls. The application stores and retrieves data by using a Microsoft SQL Server database. You will use the SQL Client managed provider to connect and send commands to the database. You use integrated security to authenticate users. Your server is called TestKing30 and the database name is CustomerService. You need to set the connection string property of the SQL Connection object. Which code segment should you use? A. "Provider=SQLOLEDB.1;Data Source=TestKing30; Initial Catalog=CustomerService" B. "Provider=MSDASQL;Data Source= TestKing30; Initial Catalog=CustomerService" C. "Data Source= TestKing30;Initial Catalog=Master" D. "Data Source= TestKing30; Initial Catalog=CustomerService"

Answer: D Explanation: We simply specify the name of the server as Data Source, and the name of database as Initial Catalog. Reference: .NET Framework Class Library, OleDbConnection.ConnectionString Property [Visual Basic] Incorrect Answers A: We are using SQL Client Object so we cannot use a Provider tag. We are not connecting to a MS SQL Server database. B: We are using SQL Client Object so we cannot use a Provider tag. Furthermore, the MSDASQL provider is used for Oracle databases, not for Microsoft SQL Server databases. C: The database name is CustomerService, not Master.

Leading the way in IT testing and certification tools, www.testking.com - 37 -

070 - 306

QUESTION NO: 41 You are maintaining a Visual Studio .NET application that was created by another developer. The application functions as expected for several months. Then users report that it sometimes calculates tax amounts incorrectly. An examination of the source code leads you to suspect that the errors are caused by a function named CalculateTestKingSales. To test your hypothesis, you place a breakpoint on the following line of code: decTax = CalculateTestKingSales(decRate, decSaleAmount) However, when you run the application to create a test invoice, the breakpoint is not invoked. How should you correct this problem? A. Select Enable All Breakpoints from the Debug menu. B. Select Configuration Manager from the Build menu. Set the Activate Solution Configuration option to Debug. Set the Configuration property of the project to Debug. C. Select Options from the Tools menu and then select the General object from the Debugging folder. Choose the option In break mode, only stop execution of the current process. D. Select Exceptions from the Debug menu. Under the heading If the exception is not handles, select Break into the Debugger.

Answer: B Explanation: If the Active Solution Configuration is set to Release, no Breakpoints would apply. This could cause the behavior described in this scenario. If we should change this setting to Debug the breakpoints would be applied. Reference: Visual Studio, Configuration Manager Dialog Box Visual Studio, Exceptions Dialog Box Incorrect Answers A: There is no Enable All Breakpoints command on the Debug menu. C: The is no option In break mode, only stop execution of the current process, or any other debugging configuration, in the General options. D: We are not interested in exceptions. We just want to breakpoints to apply.

QUESTION NO: 42 You company TestKing assigns you to modify a Visual Studio .NET application that was created by a former colleague. However, when you try to build the application, you discover several syntax errors.

Leading the way in IT testing and certification tools, www.testking.com - 38 -

070 - 306 You need to correct the syntax errors and compile a debug version of the code so the application can be tested. Before compiling, you want to locate each syntax error as quickly as possible. What should you do? A. Select each error listed in the Task List window. B. Open the Application event log from the Visual Studio .NET Server Explorer window. Select each error listed. C. Run the application in Debug mode. Each time an error is encountered, correct it and continue debugging the application. D. Select Build Solution from the Build menu. When the build fails, correct each error listed in the Output window. E. Select Build Comment Web Pages from the Tools menu. Select each function listed in the report that is generated.

Answer: A Explanation: The task list window contains information which helps you to organize and manage the work of building your application. Among other things it will include each syntax error of the application. Reference: Visual Studio, Task List Window Visual Studio, Build Comment Web Pages Dialog Box Incorrect Answers B: Event logs would not contain information on syntactical errors. C: Syntax errors are corrected in Debug mode. D: The errors are listed in the Task List windows. The text in the Output windows is more extensive, and the syntax errors are harder to spot. E: Build Comment Web Pages would not list the syntax errors. It allows you to create a series of .htm pages that display the code structure within projects and solutions, objects and interfaces defined in a project, and members. The .htm pages also display information you have included in your code using the code comment syntax.

QUESTION NO: 43 You use Visual Studio .NET to create a Windows-based application. The application includes a form named TestKingProcedures (TKP). TKP allows users to enter very lengthy text into a database. When users click the Print button located on TKP, this text must be printed by the default printer. You implement the printing functionality by using the native .NET System Class Libraries with all default settings. Users report that only the first page of the text is being printed. How should you correct this problem?

Leading the way in IT testing and certification tools, www.testking.com - 39 -

070 - 306

A. B. C. D.

In the BeginPrint event, set the HasMorePages property of the PrintEventArgs object to True. In the EndPrint event, set the HasMorePages property of the PrintEventArgs object to True. In the PrintPage event, set the HasMorePages property of the PrintPageEventArgs object to True. In the QueryPageSettings event, set the HasMorePages property of the QueryPageSettingEventArgs object to True.

Answer: C Explanation: PrintDocument.PrintPage Event occurs when the output to print for the current page is needed. This event has the HasMorePages property which gets or sets a value indicating whether an additional page should be printed. Reference: .NET Framework Class Library, PrintDocument Class [Visual Basic] .NET Framework Class Library, PrintDocument.PrintPage Event [Visual Basic]

QUESTION NO: 44 You develop a Windows-based application named TestKing3 by using Visual Studio .NET. TestKing3 consumes an XML Web service named MortgageRate and exposes a method named GetCurrentRate. TestKing3 uses GetCurrentRate to obtain the current mortgage interest rate. Six months after you deploy TestKing3, users begin reporting errors. You discover that MortgageRate has been modified. GetCurrentRate now requires you to pass a postal code before returning the current mortgage interest rate. You must ensure that TestKing3 consumes the most recent version of MortgageRate. You must achieve this goal in the most direct way possible. What should you do? A. B. C. D. E.

Use Disco.exe to generate a new proxy class for MortgageRate. Modify the TestKing3 code to pass the postal code to GetCurrentRate. Use the Update Web Reference menu item to update the reference to MortgageRate in TestKing3. Use the Add Reference dialog box to recreate the reference to MortgageRate in TestKing3. Remove the reference to MortgageRate in TestKing3. Use the Add Web Reference dialog box to create the reference.

Answer: C Explanation: If your application contains a Web reference to an XML Web service that has been recently modified on the server, you may need to update the reference in your project. To update a project Web reference

Leading the way in IT testing and certification tools, www.testking.com - 40 -

070 - 306 1. In Solution Explorer, access your project's Web References folder and select the node for the Web reference you want to update. 2. Right-click the reference and click Update Web Reference.

Reference: Visual Basic and Visual C# Concepts, Managing Project Web References

QUESTION NO: 45 Your development team is creating a Windows-based application for the TestKing company. The application asynchronously calls the ProcessLoan method of an XML Web service. The XML Web service will notify your code when it finished executing ProcessLoan. You must ensure that your code can continue processing while waiting for a response from the XML Web service. Your code must establish when ProcessLoan finished executing. What should your application do? A. Use the WaitHande.WaitAny method of the IAsyncResult.AsyncWaitHandle object. Examine the value of IAsyncResult.IsCompleted to see if ProcessLoan is finished executing. B. Use the WaitHandle.WaitAll method of the IAsyncResult.AsyncWaitHandle object. Examine the value of IAsyncResult.IsCompleted to see of ProcessLoan is finished executing. C. Supply a callback delegate to the BeginProcessLoan method of the XML Web service. After the XML Web service returns its response, a thread will invoke the callback from the threadpool. D. Supply a callback delegate to the EndProcessLoan method of the XML Web service. After the XML Web service returns it response, a thread will invoke the callback from the threadpool.

Answer: C Explanation: Calling an XML Web service asynchronously is a two-step operation. The first step, calling the Begin method, initiates the XML Web service call. The second step, calling the End method, completes the XML Web service call and returns the XML Web service response. There are different methods to determine when the asynchronous XML Web service call has completed. The preferred and most efficient method is to supply a callback delegate to the Begin method. Reference: Visual Basic and Visual C# Concepts, Accessing an XML Web Service Asynchronously in Managed Code

Incorrect Answers A, C: It is possible to use IAsyncResult.AsyncWaitHandle object to determine when the asynchronous XML Web service call has completed. This is less efficient though. D: The callback delegate should be supplied to the Begin method, not the End method.

Leading the way in IT testing and certification tools, www.testking.com - 41 -

070 - 306

QUESTION NO: 46 Your development team uses Visual Studio .NET to create an accounting application, which contains a class named TestKingAccounts. This class instantiates several classes from a COM component that was created by using Visual Basic 6.0 Each COM component class includes a custom method named ShutDownObject that must be called before terminating references to the class. Software testers report that the COM component appears to remain in memory after the application terminates. You must ensure that the ShutDownObject method of each COM component class is called before TestKingAccounts is terminated. What should you do? A. Add code to the Terminate event of TestKingAccounts to call the ShutDownObject method of each COM component class. B. Find each location in your code where a reference to TestKingAccounts is set to Nothing or goes out of scope. Add code after each instance to manually invoke the Visual Studio .NET garbage collector. C. Add the procedure Protected Overrides Finalize()to TestKi ngAccounts. Add code to the procedure to call the ShutDownObject method of each COM component class. D. Add the procedure Private Sub Finally()to TestKingAccounts. Add code to the procedure to call the ShutDownObject method of each COM component class.

Answer: C Explanation: The Sub Finalize procedure in Visual Basic .NET is a destructor and it destroys objects. It could be useful when destroying Visual Basic 6.0 COM objects. Reference: Visual Basic Language Concepts, Object Lifetime: How Objects Are Created and Destroyed

QUESTION NO: 47 Your project team uses Visual Studio .NET to create an accounting application. Each team member uses the Write method of both the Debug class and the Trace class to record information about application execution in the Windows 2000 event log. You are performing integration testing for the application. You need to ensure that only one entry is added to the event log each time a call is made to the Write method of either the Debug class or the Trace class. What are two possible code segments for you to use? (Each correct answer presents a complete solution. Choose two) A. Dim myTraceListener As New _ EventLogTraceListener("myEventLogSource") Trace.Listeners.Add(myTraceListener) B. Dim myDebugListener AS New _ EventLogTraceListener("myEventLogSource")

Leading the way in IT testing and certification tools, www.testking.com - 42 -

070 - 306 Debug.Listernes.Add(myDebugListener) C. Dim myTraceListener As New _ EventLogTraceListener("myEventLogSource") Debug.Listeners.Add(myTraceListener) Trace.Listeners.Add(myTraceListener) D. Dim myDebugListener As New _ EventLogTraceListener("myEventLogSource") Dim myTraceListener As New _ EventLogTraceListener("myEventLogSource") Debug.Listeners.Add(myDebugListener) Trace.Listeners.Add(myTraceListener)

Answer: A, B Explanation: An EventLogTraceListener redirects output to an event log. Debug and trace share the same Listeners collection, so if you add a listener object to a Debug.Listeners collection in your application, it gets added to the Trace.Listeners collection as well, and vice versa. Reference: Visual Basic and Visual C# Concepts, Trace Listeners Visual Basic and Visual C# Concepts, Creating and Initializing Trace Listeners Incorrect Answers C: Add a listener to both the Debug.Listeners collection and the Trace.Listeners collection the listener would receive duplicate messages. D: If we create a separate listener for trace messages and debug messages we would get duplicate messages

QUESTION NO: 48 You use Visual Studio .NET to create a Windows-based data management application named MyApp. You implement the following code segment: Dim oSwitch As New_ TraceSwitch("MySwitch", "My TraceSwitch") Dim oWriter As New IO.StreamWritter(IO.File.Open("c:\MyApp.txt", _ IO.FileMode.Append)) Dim oListener As New _ TextWriterTraceListener(oWriter) Trace.Listeners.Add(oListener)

Leading the way in IT testing and certification tools, www.testking.com - 43 -

070 - 306

Try CustomerUpdate() Catch oEx As Exception Trace.WriteLineIf(oSwitch.TraceError, _ "Error: " & oEx.Message) Finally Trace.Listeners.Clear() oWriter.Close() oWriter. = Nothing End Try You compile a debug version of the application and deploy it to a user's computer. The user reports errors, which are generated within the CustomerUpdate procedure. You decide to enable logging of the error messages generated by CustomerUpdate. You want to use the minimum amount of administrative effort. What should you do? A. Start the application with the following command line: /TRACE MySwitch 1. B. Start the application with the following command line: /d:TRACE=True. C. Start the application with the following command line: /XML D. Create an environment variable on the user's computer. Name the variable MySwitch and assign it a value of 1. E. Edit your application's config file to set the value of MySwitch to 1.

Answer: E Explanation: After your application has been distributed, you can still enable or disable trace output by configuring the trace switches in your application. You can change the values of the switch objects using the configuration file. In addition to specifying the name of a switch to configure, you must also specify a value for the switch. This value is an Integer. For BooleanSwitch, a value of 0 corresponds to Off, and any nonzero value corresponds to On. Reference: Visual Basic and Visual C# Concepts, Trace Switches Visual Basic and Visual C# Concepts, Configuring Trace Switches

Leading the way in IT testing and certification tools, www.testking.com - 44 -

070 - 306 QUESTION NO: 49 You use Visual Studio .NET to create a Windows-based application for online gaming. Each user will run the client version of the application on his or her local computer. In the game, each user controls two groups of soldiers, Group 1 and group 2. You create a top-level menu item whose caption is Groups. Under this menu, you create two submenus. One is named group1Submenu, and its caption is Group 1. The other is named group2Submenu, and its caption is Group2. When the user selects the Groups menu. The two submenus will be displayed. The user can select only one group of soldiers at a time. You must ensure that a group can be selected either by clicking the appropriate submenu item or by holding down the ALT key and pressing 1 or 2. You must also ensure that the group currently select will be indicated by a dot next to the corresponding submenu item. You do not want to change the caption text of any of your menu items. Which for actions should you take? (Each correct answer presents part of the solution. Choose four) A. Set group1Submenu.Text to "Group &1". Set group2Submenu.Text to "Group &2". B. Set Group1.ShortCut to "ALT1". Set Group2.ShortCut to "ALT2". C. In the group1Submenu.Click event, place the following code segment: group1Submenu.DefaultItem = True In the group2Submenu.Click event, place the following code segment: group2Submenu.DefaultItem = True D. In the group1Submenu.Click event, place the following code segment: group2Submenu.DefaultItem = False In the group2Submenu.Click event, place the following code segment: group1Submenu.DefaultItem = False E. In the group1Submenu.Click event, place the following code segment: group1Submenu.Checked = True In the group2Submenu.Click event, place the following code segment: group2Submenu.Checked = True F. In the group1Submenu.Click event, place the following code segment: group2Submenu.Checked = False In the group2Submenu.Click event, place the following code segment: group1Submenu.Checked = False G. Set group1Submenu.RadioCheck to True. Set group2Submenu.RadioCheck to True. H. Set group1Submeny.RadioCheck to False. Set group2Submenu.RadioCheck to False.

Answer: A, E, F, G Explanation: A: The & sign is used to define the required Access key.

Leading the way in IT testing and certification tools, www.testking.com - 45 -

070 - 306 E, F: The menu item's Checked property is either true or false, and indicates whether the menu item is selected. We should set the clicked Submenu Checked property to True, and the other Submenu Checked property to False. G: The menu item's RadioCheck property customizes the appearance of the selected item: if RadioCheck is set to true, a radio button appears next to the item;

Reference: Visual Basic and Visual C# Concepts, Adding Menu Enhancements to Windows Forms Visual Basic and Visual C# Concepts, Introduction to the Windows Forms MainMenu Component Incorrect Answers B: This is not the way to define Access keys. The & sign must be used. C, D: We are not interested in defining default items. We want to mark items as checked. H: The RadioCheck property must be set to True for both menu items.

QUESTION NO: 50 You use Visual Studio .NET to develop a Windows-based application that interacts with a Microsoft SQL Server database. Your application contains a form named CustomerFarm. You add the following designtime components to the form: • • • •

SqlConnection object named NorthwindConnection SqlDataAdapter object named NorthwindDataAdapter. DataSet object named NorthwindDataSet. Five TextBox controls to hold the values exposed by NorthwindDataSet.

At design time, you set the DataBindings properties of each TextBox controls to the appropriate column in the DataTable object of NorthwindDataSet. When you test the application, you can successfully connect to the database. However, no data is displayed in any text boxes. You need to modify your application code to ensure that data is displayed appropriately. Which behavior should occur while the CustomerForm.Load event handler is running? A. B. C. D. E.

Execute the Add method of the TextBoxes DataBindings collection and pass in NorthwindDataSet. Execute the BeginInit method of NorthwindDataSet. Execute the Open method of NorthwindConnection. Execute the FillSchema method of NorthwindDataAdapter and pass in NorthwindDataSet. Execute the Fill method of NorthwindDataAdapter and pass in NorthwindDataSet.

Answer: E Explanation: Dataset is a container; therefore, you need to fill it with data. You can populate a dataset by calling the Fill method of a data adapter.

Leading the way in IT testing and certification tools, www.testking.com - 46 -

070 - 306

Reference: Visual Basic and Visual C# Concepts, Introduction to Datasets

QUESTION NO: 51 You are a developer for a TestKing inc that provides free software over the Internet. You are developing an e-mail application that users all over the world can download. The application displays text strings in the user interface. At run time, these text strings must appear in the language that is appropriate to the locale setting of the computer running the application. You have resources to develop version of the application for only four different cultures. You must ensure that your application will also be usable by people of other cultures. How should you prepare the application for deployment? A. Package a different assembly for each culture. B. Package a different executable file for each culture. C. Package a main assembly for source code and the default culture. Package satellite assemblies for the other cultures. D. Package a main assembly for source code. Package satellite assemblies for each culture.

Answer: C Explanation: When you build a project, the resource files are compiled and then embedded in satellite assemblies, or assemblies which contain only the localized resources. The fallback resources are built into the main assembly, which also contains the application code. Reference: Visual Basic and Visual C# Concepts, What's New in International Applications Visual Basic and Visual C# Concepts, Introduction to International Applications in Visual Basic and Visual C# Incorrect Answers A: A main assembly is needed. B: Assemblies not executables are used. D: The main assembly contains the fallback resources (including default culture).

QUESTION NO: 52 You use Visual Studio .NET to create an application that interact with a Microsoft SQL Server database. You create a SQL Server stored procedure named TestKOrderDetails and save it in the database. Other developers on your team frequently debug other stored procedures. You need to verify that your stored procedure is performed correctly. You need to step through CustOrderDetails inside the Visual Studio .NET debugger. What should you do?

Leading the way in IT testing and certification tools, www.testking.com - 47 -

070 - 306

A. B. C. D.

Run TestKOrderDetails by using the Visual Studio .NET Server Explorer. Step into TestKOrderDetails by using the Visual Studio .NET Server Explorer. From the Command window, use Ctrl+E to run CustOrderDetails. Move TestKOrderDetails from the Visual Studio .NET Server Explorer window to a Windows Form. Run the application in Debug mode and step though CustOrderDetails.

Answer: B Explanation: To debug a stored procedure from Server Explorer 1. 2. 3. 4.

Establish a connection to a database using Server Explorer. Expand the database name node. Expand the Stored Procedures node. Right-click the stored procedure you want to debug and choose Step Into Stored Procedure from the shortcut menu.

Reference: Visual Studio, Debugging SQL Stored Procedures

QUESTION NO: 53 You use Visual Studio .NET to create a Windows-based application. The application includes a form named GraphForm, which displays statistical data in graph format. You use a custom graphing control that does not support resizing. You must ensure that users cannot resize, minimize, or maximize GraphForm. Which three actions should you take? (Each answer presents part of the solution. Choose three) A. B. C. D. E. F. G.

Set GraphForm.MinimizeBox to False. Set GraphForm.MaximizeBox to False. Set GraphForm.ControlBox to False. Set GraphForm.ImeMode to Disables. Set GraphForm.WindowState to Maximized. Set GraphForm.FormBorderStyle to one of the Fixed styles. Set GraphForm.GridSize to the appropriate size.

Answer: A, B, F Explanation: We disable the Minimize and Maximize buttons with the GraphForm.Minimizebox and the GraphForm.Maximizebox properties. Furthermore we should use a fixed FormBorderStyle to prevent the users from manually resizing the form. Reference:

Leading the way in IT testing and certification tools, www.testking.com - 48 -

070 - 306 Visual Basic and Visual C# Concepts, Changing the Borders of Windows Forms .NET Framework Class Library, Form.MinimizeBox Property [Visual Basic] .NET Framework Class Library, Form.MaximizeBox Property [Visual Basic]

QUESTION NO: 54 You develop a Windows-based application named TestKingOrders. You implement the Trace object within your application code. You will use this object to record application information, such as errors and performance data, in a log file. You must have the ability to enable and disable Trace logging. This functionality must involve the minimum amount of administrative effort. What should you do? A. Create a Boolean constant in your application named #TraceLogging and set it to False. Each time your code uses Trace logging, use a #if…#Then statement to evaluate your #TraceLogging constant. B. On each computer that will host your application, create an environment variable named CustOrders.Trace. Set the environment variable to True when you want to enable Trace logging. Set it to False when you want to disable Trace logging. C. On each computer that will host your application, edit the shortcut used to start your application. Add /d:TRACE=True to the Target property. D. Use the TraceSwitch class within your code. Each time your code uses Trace logging, consult the TraceSwitch level to verify whether to log information. Change the TraceSwitch level by editing your applications .config.file.

Answer: D Explanation: By placing Trace Switches in your code, you can control whether tracing occurs and how extensive it is. Reference: Visual Basic and Visual C# Concepts, Introduction to Instrumentation and Tracing Visual Basic and Visual C# Concepts, Trace Switches

QUESTION NO: 55 You use Visual Studio .NET to create a component named Request. This component includes a method named AcceptRequest, which tries to process new user requests for services. AcceptRequest calls a private function named Validate. You must ensure that any exceptions encountered by Validate are bubbled up to the parent form of Request. The parent form will then be responsible for handling the exceptions. You want to accomplish this goal by writing the minimum amount of code. What should you do?

Leading the way in IT testing and certification tools, www.testking.com - 49 -

070 - 306

A. Use the following code segment in AcceptRequest: Me.Validate() B. Use the following code segment in AcceptRequest: Try Me.Validate() Catch ex As Exception Throw ex End Try C. Use the following code segment in AcceptRequest: Try Me.Validate() Catch ex As Exception Throw new Exception ("Exception in AcceptRequest", ex) End Try D. Create a customer Exception class named RequestException by the following code segment: Public Class RequestException Inherits System.ApplicationException Public Sub New() End Sub Public Sub New (message As String) MyBase.New(message) End Sub Public Sub New (message As String, inner As Exception) MyBase.New(message, inner) End Sub End class In addition, use the following code segment in AcceptRequest: Try Me.Validate() Catch ex As Exception Throw new RequestException("Exception in _ AcceptRequest", ex) End Try

Answer: B Explanation: We use a Try…Catch statement to catch any exceptions from the Validate function. We then throw any exceptions, without adding any further information (not C), to the parent form of Request. Reference: Visual Basic and Visual C# Concepts, Throwing Exceptions from Components

Leading the way in IT testing and certification tools, www.testking.com - 50 -

070 - 306

QUESTION NO: 56 You develop a Windows-Based application that accesses a Microsoft SQL Server database named TestKing1. Users must supply a user name and password when they start the application. This information is then used to dynamically build a connection string. When you test the application, you discover that it is not using the SqlClient connection pooling feature. You must reduce the time needed to retrieve information. How should you modify the connection string? A. B. C. D.

to use the Windows user logon when connection to the TestKing1 database. to use the SQL Server used login when connection to the TestKing1 database. to use the same application logon ID and password for every connection to the TestKing1 database. to use the guest login ID and password for every connection to the TestKing1 database.

Answer: C Explanation: We must use the same connection string to only use one connection pool. Note: The performance of the application can be enhanced by having the application share, or "pool," connections to the data source. When a connection is opened, a connection pool is created based on an exact matching algorithm that associates the pool with the connection string in the connection. Each connection pool is associated with a distinct connection string. When a new connection is opened, if the connection string is not an exact match to an existing pool, a new pool is created. Reference: .NET Framework Developer's Guide, Connection Pooling for the SQL Server .NET Data Provider Visual Basic and Visual C# Concepts, Introduction to ADO.NET Connection Design Tools Incorrect Answers A, C: If we use different connection strings for different users we would not be using the same connection pool. D: Using the guest login ID is not good out of security reasons.

QUESTION NO: 57 You use Visual Studio .NET to create a component TestKingShared that will be shared by two client applications. Eventually, you plan to deploy new version of TestKingShared. However, not all of the new versions will be compatible with both client applications. When you deploy TestKingShared and the client applications, you must ensure that you can upgrade the TestKingShared for a single client application. You must also minimize the need for configuration changes when you deploy new version of the component.

Leading the way in IT testing and certification tools, www.testking.com - 51 -

070 - 306 What are two possible ways to achieve your goal? (Each correct answer presents a complete solution. Choose two) A. Deploy each client application to its own folder. Deploy TestKingShared to its own folder. Register TestKingShared by using RegSvr32 with the /s option. B. Deploy each client application to its own folder. Deploy a separate copy of TestKingShared to each client application folder. When you deploy a new version of TestKingShared, replace the older version only if the new version remains compatible with the client application in the same folder. C. Compile the client applications with reference to TestKingShared. Deploy both client applications and TestKingShared to a single folder. When you deploy a new version of TestKingShared, increment its version number. D. Create a strong name of TestKingShared and specify a version number. Compile each client application and bind it to TestKingShared. Deploy TestKingShared to the global assembly cache on the client computer. Deploy each client application to its own folder. When you deploy a new version of TestKingShared, increment its version number.

Answer: B, D Explanation: B: We keep two separate copies of the shared component. And we only replace the shared copy of the component if compatibility is still maintained. D: You can install multiple versions of the same assembly to the Global Assembly Cache, and applications can locate and use the appropriate version. References: 70-306/70-316 Training kit, Understanding Private and Shared Assemblies, Pages 433-434 Incorrect Answers A: RegSrv32 was used in Visual Basic 6.0 and Visual C++ 6.0 and earlier. It is no longer used in Visual Studio .Net. C: The shared component might be compatible with both client applications. We should use the global assembly cache, not put TestKingShared and the client applications in the same folder.

QUESTION NO: 58 You use Visual Studio .NET to develop a data entry form for a Windows-based application. The form will display one record at a time from a database. The form must include four Button controls. Each control will be used to navigate through the data in the database. You decide to create one procedure to handle the Click event for all four controls. What should you do?

Leading the way in IT testing and certification tools, www.testking.com - 52 -

070 - 306 A. Create a control array consisting of four Button controls. Your code will inspect the Index argument that is passed into the Click event. B. Create a control array consisting of four Button controls. Your code will inspect the Index property of the sender parameter of the Click event. C. Create four individual Button controls. Create a procedure named NavButtons_Click to handle the Click event for all four controls by using the AddHandler keyword. D. Create four individual Button controls. Create a procedure named NavButtons_Click to handle the Click event for all four controls by using the Implements keyword.

Answer: C Explanation: The AddHandler statement is similar to the Handles clause in that both allow you to specify an event handler that will handle an event. We can use the AddHandler statement to add the four events to the event handler, the NavButtons_clock procedure. Reference: Visual Basic Language Concepts, AddHandler and RemoveHandler Visual Basic Concepts, Control Array Changes in Visual Basic .NET Visual Basic Language Concepts, Implements Keyword Incorrect Answers A, B: Control arrays could be used in Visual Basic 6.0, but they are no longer supported in Visual Basic .NET. D: The Implements keyword is used to signify that a class member implements a specific interface. We should not implement an interface in this scenario however. We want to configure events for an event handler.

QUESTION NO: 59 You use Visual Studio .NET to create a Windows-based application. On the main application form, TestKingFormMain, you create a TextBox control named textConnectionString. Users can enter a database connection string in this box to access customized data from any database in your company. You also create a Help file to assist users in creating connection strings. The Help file will reside on your company intranet. Your application must load the Help file in a new browser window when the user presses F1 key, but only of textConnectionString has focus. You must create this functionality by using the minimum amount of code. In which event should you write the code to display the Help file? A. B. C. D.

textConnectionString_KeyPress textConnectionString_KeyDown textConnectionString_KeyUp textConnectionString_GiveFeedback

Leading the way in IT testing and certification tools, www.testking.com - 53 -

070 - 306 E. textConnectionString HelpRequested

Answer: E Explanation: The Control.HelpRequested Event occurs when the user requests help for a control. The HelpRequested event is commonly raised when the user presses the F1 key or an associated context-sensitive help button is clicked. This would be the most straightforward solution and would require minimal code. Note: Key events occur in the following order: 1. KeyDown 2. KeyPress 3. KeyUp Reference: .NET Framework Class Library, Control.HelpRequested Event [Visual Basic] .NET Framework Class Library, Control.KeyDown Event [Visual Basic] Incorrect Answers A: The KeyPress event occurs when a key is pressed while the control has focus. The KeyPress event could be used to provide a solution, but it would require more code. B: The KeyDown event occurs when a key is pressed while the control has focus. C: The KeyUp occurs when a key is released while the control has focus. D: The Control.GiveFeedback does not apply here. It occurs during a drag operation.

QUESTION NO: 60 Your company uses Visual Studio .NET to create a Windows-based application for TestKing. The application is named CustomerTracker, and it calls an assembly named Schedule. Six months pass. The hospital asks your company to develop a new Windows-based application. The new application will be named EmployeeTracker, and it will also call Schedule. Because you anticipate future revisions to this assembly, you want only one copy of Schedule to serve both applications. Before you can use Schedule in EmployeeTracker, you need to complete some preliminary tasks. Which three actions should you take? (Each correct answer presents part of the solution. Choose three) A. B. C. D. E. F.

Create a strong name for Schedule. Use side-by-se execution to run Schedule. Install Schedule in the global assembly cache. Move Schedule to the Windows\System32 folder. Create a reference in EmployeeTracker to Schedule. Create a reference in EmployeeTracker to CustomerTracker.

Answer: A, C, E

Leading the way in IT testing and certification tools, www.testking.com - 54 -

070 - 306 Explanation: A: An assembly must have a strong name to be installed in the global assembly cache. C: You intend to share an assembly among several applications, you can install it into the global assembly cache. E: We must create a reference from the application (EmployeeTracker) to the assembly (Schedule). Reference: .NET Framework Developer's Guide, Working with Assemblies and the Global Assembly Cache .NET Framework Developer's Guide, Side-by-Side Execution Incorrect Answers B: Side-by-side execution is the ability to run multiple versions of the same assembly simultaneously. It is not required in this scenario. D: The assembly should be moved to the global assembly cache, not to the Windows\System32 folder. F: The application should reference the assembly, not the first application.

QUESTION NO: 61 You use Visual Studio .NET to create a Windows-based application. The application includes a form named ConfigurationForm. ConfigurationForm contains 15 controls that enable users to set basic configuration options for the application. You design these controls to dynamically adjust when users resize ConfigurationForm. The controls automatically update their size and position on the form as the form is resized. The initial size of the form should be 650 x 700 pixels. If ConfigurationForm is resized to be smaller then 500 x 600 pixels, the controls will not be displayed correctly. You must ensure that users cannot resize ConfigurationForm to be smaller than 500 x 600 pixels. Which two actions should you take to configure ConfigurationForm? (Each correct answer presents part of the solution. Choose two.) A. B. C. D. E. F. G. H.

Set the MinimumSize property to “500,600”. Set the MinimumSize property to “650,700”. Set the MinimizeBox property to True. Set the MaximumSize property to “500,600”. Set the MaximumSize property to “650,700”. Set the MaximizeBox property to True. Set the Size property to “500,600”. Set the Size property to “650,700”.

Answer: A, H Explanation:

Leading the way in IT testing and certification tools, www.testking.com - 55 -

070 - 306 A: The Form.MinimumSize Property gets or sets the minimum size the form can be resized to. It should be set to "500, 600". H: We use the size property to set the initial size of the form. The initial size should be set to "650, 700". Reference: .NET Framework Class Library, Form.MinimumSize Property [Visual Basic] .NET Framework Class Library, Form.Size Property [Visual Basic] Incorrect Answers B: The initial size is 650 x 750. The minimal size should be set to "500,600". C: The minimize button will be displayed, but it will not affect the size of the form. D, E: There is no requirement to define a maximum size of the form. F: The maximize button will be displayed, but it will not affect the size of the form. G: The initial size should be 650 x 700, not 500 x 600.

QUESTION NO: 62 You are preparing a localized version of a Windows Form named TestKingLocal. Users of TestKingLocal speak a language that prints text from right to left. User interface elements on the form need to conform to this alignment. You must ensure that all user interface elements are properly formatted when the localized Windows Form runs. You must also ensure that TestKingLocal is easy to update and maintain. What should you do? A. B. C. D.

Set the RightToLeft property of each control on the form to Yes. Set the RightToLeft property of the form to Yes. Set the Language property of the form to the appropriate language. Set the Localizable property of the form to True.

Answer: B Explanation: The RightToLeft property is used for international applications where the language is written from right to left Reference: Visual Basic and Visual C# Concepts, Displaying Right-to-Left Text in Windows Forms for Globalization Incorrect Answers A: The RightToLeft property can be set either to controls or to the form. The best solution is to set the property only for the form. C: The Language property is not used to format text. D: The Localizable property is not used to format text.

Leading the way in IT testing and certification tools, www.testking.com - 56 -

070 - 306

QUESTION NO: 63 You create an assembly by using Visual Studio .NET. The assembly is consumed by other .NET applications to manage the creation and deletion of XML data files. The assembly includes a method named DeleteTestKXMLFile that uses the Win32 API to delete the XML data files. A security exception is thrown when DeleteTestKXMLFile is called from another .NET application. You must modify DeleteXMLFile to ensure that this method can execute functions exposed by the Win32 API. To do so, you create a SecurityPermission object that represents the right to call unmanaged code. Which method of the SecurityPermission object should you call? A. B. C. D.

Assert Demand PermitOnly RevertDeny

Answer: A Explanation: The CodeAccessPermission.Assert Method asserts that calling code can access the resource identified by the current permission through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Reference: .NET Framework Class Library, SecurityPermission Class [Visual Basic] .NET Framework Class Library, SecurityPermission Methods .NET Framework Class Library, CodeAccessPermission.Assert Method [Visual Basic] Incorrect Answers B: The CodeAccessPermission.Demand method will not grant proper permission to other .NET applications. It forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance. C: The CodeAccessPermission.PermitOnly method will not grant proper permission to other .NET applications. It prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance. D: RevertDeny is not a SecurityPermission method.

QUESTION NO: 64 You develop a Windows-based application that contains a form named ContactTestKing. You need to write code to initialize all class-level variables in ContactTestKing as soon as ContactTestKing is instantiated. You will place your code in a public procedure in the ContactTestKing class.

Leading the way in IT testing and certification tools, www.testking.com - 57 -

070 - 306 Which public procedure should you use? A. B. C. D.

Create Initialize Load New

Answer: C Explanation: The Form.Load Event occurs before a form is displayed for the first time. You can use this event to perform tasks such as allocating resources used by the form. Reference: .NET Framework Class Library, Form.Load Event [Visual Basic] Visual Basic Concepts, Form Event Changes in Visual Basic .NET Incorrect Answers A: Create does not apply here. B: In Visual Basic 6.0, the Initialize event was used to execute code before a form was loaded. There is not such event in Visual Basic :NET. D: New is not a public procedure. It is a class constructor.

QUESTION NO: 65 You use Visual Studio .NET to develop a Windows-based application. You implement the security classes of the .NET Framework. As users interact with your application, role-based validation will frequently be performed. You must ensure that only validated Windows NT or Windows 2000 domain users are permitted to access your application. You add the appropriate Imports statements for the System.Security.Principal namespace and the System.Threading namespace. Which additional code segment should you use? A. AppDomian.CurrentDomain.SetPrincipalPolicy( _ PrincipalPolicy.WindowsPrincipal) Dim principal As WindowsPrincipal = _ CType(Thread.CurrentPrincipal, WindowsPrincipal) B. AppDomain.CurrentDomain.SetThreadPrincipal( _ PrincipalPolicy.WindowsPrincipal) Dim principal As WindowsPrincipal = _ CType(Thread.CurrentPrincipal, WindowsPrincipal) C. Dim identity As WindowsIdentity = WindowsIdentity.GetCurrent()

Leading the way in IT testing and certification tools, www.testking.com - 58 -

070 - 306 Dim principal As New WindowsPrincipal(identity) D. Dim identity As WindowsIdentity = _ WindowsIdentity.GetAnonymous() Dim principal As New WindowsPrincipal(identity)

Answer: A Explanation: The WindowsPrincipal Class allows code to check the Windows group membership of a Windows user. In particular we can check if the user belongs to domain users group. Furthermore, the SetPrincipalPolicy method specifies how principal and identity objects should be attached to a thread Reference: .NET Framework Class Library, WindowsPrincipal Class [Visual Basic] .NET Framework Class Library, WindowsIdentity Class [Visual Basic] Incorrect Answers B: We should use the SetPrincipalPolicy method, not the SetThreadPrincipal Method. Note: The AppDomain.SetThreadPrincipal Method sets the default principal object to be attached to threads C: WindowsIdentity Class represents a Windows user. The GetCurrent method is used to create a WindowsIdentity object that represents the current user. However, we must the WindowsPrincipal class to test if the users are valid domain users. D: The WindowsIdentity.GetAnonymous Method returns a WindowsIdentity object that represents an anonymous Windows user. This will not help in validating the current user.

QUESTION NO: 66 You develop a Windows-based application for your payroll department. The application will include a procedure named Signin, which must allow users to report that they are present in their offices. The procedure must also allow each user to sign in other users. The procedure must return a Boolean variable indicating success or failure. In most cases, the procedure will be called with no parameters. When no parameters are passed in, the procedure should recognize the user by the information stored in global variables. When one user signs in another user, the procedure should accept a string variable parameter that represents the user name of the user who is signed in. You want to define your procedure to present the most efficient contract to the consumer. Which two code segments should you use? (Each correct answer presents part of the solution. Choose two) A. Public Function SignIn() As Boolean. B. Public Function SignIn(userName As String) As Boolean C. Public Function SignIn(userName As String, _ Success As Boolean) As Boolean

Leading the way in IT testing and certification tools, www.testking.com - 59 -

070 - 306 D. Public Function SignInWithName(userName As String) _ As Boolean E. Public SignIn(username As String) F. Public Sub SignInWithName(userName As String)

Answer: A, B Explanation: We must overload the definition of Signin. We should implement Signin as functions, not as sub procedures, since we want Signin to return a value. A: One Signin function with no parameters. B: One Signin function with a string parameter. Reference: Visual Basic Language Specification, Overloading and Signatures Incorrect Answers C: The function should only have one parameter, not two. D: When overloading we must identical named identities. E, F: Functions is better in this scenario. Furthermore to overload a Sub procedure we need at least two Sub procedures with the same name.

QUESTION NO: 67 You use Visual Studio .NET to create a Windows-based application called TestKingMortage. The main form of the application contains several check boxes that correspond to application settings. One of the CheckBox controls is named advancedCheckBox. The caption for advancedCheckBox is Advanced. You must enable users to select or clear this check box by pressing ALT+A. Which two actions should you take? (Each correct answer presents part of the solution. Choose two) A. B. C. D. E. F. G. H.

Set advancedCheckBox.AutoCheck to True. Set advancedCheckBox.AutoCheck to False. Set advancedCheckBox.Text to “&Advanced”. Set advancedCheckBox.Tag to “&Advanced”. Set advancedCheckBox.CheckState to Unchecked. Set advancedCheckBox.CheckState to Indeterminate. Set advancedCheckBox.Apperance to Button. Set advancedCheckBox.Apperance to Normal.

Answer: A, C Explanation: A: The AutoCheck property must be set to True so that the CheckBox automatically is changed when the check box is accessed.

Leading the way in IT testing and certification tools, www.testking.com - 60 -

070 - 306 C: The Text property contains the text associated with this control. By using the &-sign we define a shortcut command for this control. "@Advanced" defines the shortcut ALT+A. Reference: .NET Framework Class Library, CheckBox Properties .NET Framework Class Library, CheckBox.AutoCheck Property [Visual Basic] Incorrect Answers B: If AutoCheck is set to false, you will need to add code to update the Checked or CheckState values in the Click event handler. D: The Tag property only contains data about the control. E, F: The CheckState property only contains the state of the check box. G, H: The appearance property only determines the appearance of a check box control.

QUESTION NO: 68 You use Visual Studio .NET to create several Windows-based applications. All use a common class library assembly named TestKingCustomers. You deploy the application to client computers on your company intranet. Later, you modify TestKingCustomers.Any application that uses version 1.0.0.0 must now user version 2.0.0.0. What should you do? A. B. C. D.

Modify the machine configuration file on your client computers. Modify the application configuration file for Customers. Modify the Publisher Policy file containing a reference to Customers. Modify the reference patch for Customers.

Answer: C Explanation: When an assembly vendor releases a new version of an assembly, the vendor can include a publisher policy so applications that use the old version now use the new version. Reference: .NET Framework General Reference, Element

QUESTION NO: 69 You develop a Windows-based application that will retrieve employee vacation data and display it in a DataGrid control. The data is managed locally in a DataSet object named employeeDataSet. You need to write code that will enable users to sort data by department. Which code segment should you use?

Leading the way in IT testing and certification tools, www.testking.com - 61 -

070 - 306

A. Dim dvDept As New DataView() dvDept.Table = employeeDataSet.Tables(0) dvDept.Sort = “ASC” DataGrid1.DataSource = dvDept B. Dim dvDept As New DataView() dvDept.Table = employeeDataSet.Tables(0) dvDept.Sort = “Department” DataGrid1.DataSource = dvDept C. Dim dvDept As New DataView() dvDept.Table = employeeDataSet.Tables(0) dvDept.ApplyDefaultSort = True DataGrid1.DataSource = dvDept D. Dim dvDept As New DataView() dvDept.Table = employeeDataSet.Tables(0) dvDept.ApplyDefaultSort = False DataGrid1.DataSource = dvDept

Answer: B Explanation: The DataView.Sort Property gets or sets the sort column or columns. The sort string contains the column name followed by "ASC" (ascending) or "DESC" (descending). Columns are sorted ascending by default. Multiple columns can be separated by commas. The dvDept.Sort = "Department" assignment sorts the view on the Department column. Reference: .NET Framework Class Library, DataView.Sort Property [Visual Basic] Incorrect Answers A: We must specify the column name, not just the sort order. C: We don't want to use the default sort. We want to sort on the Department column. D: Disabling the default sort will not sort on the Department column.

QUESTION NO: 70 You develop a Windows control named FormattedTextBox, which will be used by many developers in your company. FormattedTextBox will be updated frequently. You create a custom bitmap image named CustomControl.bmp to represent FormattedTextBox in the Visual Studio .NET toolbox. The bitmap contains the current version number of the control, and it will be updated each time the control is updated. The bitmap will be stored in the application folder. If the bitmap is not available, the standard TextBox control bitmap must be displayed instead. Which class attribute should you add to FormattedTextBox?

Leading the way in IT testing and certification tools, www.testking.com - 62 -

070 - 306 A.