Assessment Test

1. 

You are creating a Visual Studio .NET application and you would like to use some existing COM components in your new application. Can you do this?

  1. No. .NET Framework applications cannot use COM components.

  2. Yes. Visual Studio .NET will take care of creating an interop assembly so that managed code in your Visual Studio .NET project can access the methods of a COM component.

  3. Yes, but only after converting the COM component to a Visual Studio .NET module.

  4. Yes, but only if the COM component has a dual interface.

byes, it is possible to use legacy com components from visual studio .net projects. visual studio .net will automatically create an interop assembly that exposes the type library from the com component in a form that is understandable to the common language runtime (clr). for more information, see chapter 2 .

2. 

What classes must be used to successfully deploy a Windows service when using an installer such as InstallUtil.exe or Windows Installer? (Choose two.)

  1. ServiceInstaller

  2. ServiceSetup

  3. ServiceProcessInstaller

  4. ServiceProcessSetup

a, cthe serviceinstaller and serviceprocessinstaller classes contain the code necessary for the installer ( installutil.exe or windows installer) to write to the registry and register the service in the service controller applet in windows. these classes contain the code necessary for the installer to install, commit, roll back, and uninstall a windows service. see chapter 10 for more information.

3. 

You are creating a distributed application. You would like the client applications to use .NET Remoting to make method calls on server components. Which of the following describes an environment that is suited for implementing .NET Remoting?

  1. You are implementing an application that will support clients running various platforms; calls to the server are made over the Internet.

  2. All clients that will use the server components are located on the same network and are running the .NET Framework; however, the program that you wish to call from the remote host runs on a different operating system.

  3. All clients that will use the server components are located on the same network and are running the .NET Framework.

  4. All clients that will use the server components are located on the same network, but some clients are running older operating systems that cannot support the .NET Framework.

c.net remoting is best implemented when all computers are on a closed network and all computers are running the .net framework. xml web services are useful when you must support different platforms. for more information, see chapter 3 .

4. 

What type of application would be best implemented by running as a Windows service?

  1. An application that monitors server CPU usage. If usage goes over 75 percent, it should be logged in an event log.

  2. A data entry application for a busy call center.

  3. A spreadsheet application for financial calculations.

  4. An XML web service application to exchange B2B e-commerce orders.

awindows services are best suited to applications that run without direct user interaction and that report their operations and errors to an event log. for more information, see chapter 1 .

5. 

You are creating a distributed application. You have decided to implement .NET Remoting to make method calls on server components. You have decided to use a TCP channel and the binary formatter. What advantage will that provide for your application?

  1. A TCP channel and the binary formatter will provide the fastest communication between components.

  2. A TCP channel and the binary formatter will provide the strongest security for your application.

  3. A TCP channel and the binary formatter automatically encrypt all data.

  4. A TCP channel and the binary formatter are supported by all platforms.

athe tcp channel does provide faster transmission of data over the network; however, this channel is less secure than http, which can use ssl and other web security features. all components involved in the distributed application must run the .net framework in order to use the binary formatter. for more information, see chapter 3 .

6. 

XML Web services are most useful when creating applications that meet which requirements?

  1. Your application must be able to provide the fastest possible performance in executing requests.

  2. Your organization has information that it would like to provide to a wide range of customers, without having to create a custom interface for each one.

  3. Your organization’s departmental status reports must be delivered over the company intranet.

  4. Your application must support online transaction processing and provide up-to-the- minute information for call center operators.

bxml web services are most suited to creating applications that expose a simple, easy-to- access interface that is nonproprietary and cross-platform. each of your customers can write application code to call your service and request information from any type of programming language and platform that they might be using. although xml web services can provide reasonable performance, because you are often accessing web services over the public internet, fast performance is not guaranteed. for internal applications, such as intranets and online transaction processing, web services might not provide the best performance and security. for more information, see chapter 4 .

7. 

You are creating a Visual Studio .NET application and you would like to take advantage of the distributed transaction management features that Windows Component Services provides. What should you do?

  1. You can’t access Windows Component Services from a Visual Studio .NET application.

  2. Use classes from the .NET Framework System.EnterpriseServices namespace to support this functionality.

  3. Use classes from the .NET Framework System.Runtime.Interop namespace to support this functionality.

  4. You can create a Visual Studio .NET application that uses components that are registered with Windows Component Services, but the components themselves must have been created with Visual Studio 6.

byou can register visual studio .net components with windows component services to take advantage of distributed transaction management and other features. visual studio .net components that are to be registered with windows component services must reference the .net framework system.enterpriseservices namespace and inherit from the serviced- component base class. for more information, see chapter 2 .

8. 

Which set of underlying technologies provides the foundation for XML Web services?

  1. TCP and proprietary binary data formats

  2. XSD and UDDI

  3. HTTP, XML, and SOAP

  4. DCOM, XML, and SOAP

cxml web services use internet standards such as http, xml, and soap to maintain the greatest possible cross-platform accessibility. tcp implies the use of a lower-level protocol that might be blocked by a firewall. dcom and binary data formats are generally proprietary and will run only on a single platform. xsd and uddi are supporting technologies of xml web services; however, they provide additional services and are not required for a simple xml web service. for more information, see chapter 4 .

9. 

To implement Windows authentication and authorization in the web.config file, you must add the ___________________ element to grant access and the ___________________ element to prevent access to your Web service. (Choose two.)

  1. <allow>

  2. <deny>

  3. <prevent>

  4. <permit>

a, bthe - allow - element is used to permit users to consume the service, and the - deny - element is used to prohibit access. for more information, see chapter 11 .

10. 

In a typical web-based application, most data returned by database queries is used to display data to the user. Which ADO.NET object can quickly and efficiently provide read-only data to your application?

  1. A DataSet

  2. An XMLDataReader

  3. A SqlDataReader or an OleDbDataReader

  4. A disconnected recordset

ca dataset object is designed to store data in memory while users can update it and write changes back to the database. this capability uses system resources and is slower. an xmldatareader creates an xmldocument , which also requires system resources to hold data in memory. the sqldatareader and oledbdatareader are fast and efficient objects that provide forward-only, read-only access to data. the disconnected recordset is part of the older ado object model and is not a part of ado.net. for more information, see chapter 5 .

11. 

Your application needs to connect to a Microsoft SQL Server 6.5 database. Which .NET data provider should you use?

  1. The SqlClient data provider.

  2. The OleDb data provider.

  3. The ODBC data provider.

  4. You cannot connect to an SQL Server 6.5 database from ADO.NET.

bthe oledb data provider supports many databases, including older versions of microsoft sql server and access. the sqlclient data provider is customized for use with microsoft sql server versions 7 and 2000 only. the odbc data provider is for legacy databases that must use odbc drivers. for more information, see chapter 5 .

12. 

What is one advantage of using a strongly typed DataSet in your application?

  1. Automatically generated SQL statements.

  2. Compile time type checking.

  3. No need to call the DataAdapter Fill or Update methods.

  4. Only strongly typed DataSets can be bound to controls.

bstrongly typed datasets provide compile time type checking of your data columns. object names are also available in intellisense. no sql is automatically generated for the typed dataset; it is built based on a select query that you define. you do still need to call the dataadapter fill and update methods when working with a typed dataset. any type of dataset can be bound to controls. see chapter 6 for more information.

13. 

For auditing purposes, you would like your Windows service application to write an entry to an event log every time it is started and stopped. How can you most easily accomplish this?

  1. Write code in the OnCustomCommand method of the ServiceBase class to create the log entry.

  2. Write code in the OnStart and OnStop methods of the ServiceBase class to create the log entry.

  3. Leave the AutoLog property of your service set to True. Windows Application event log entries will be automatically created.

  4. Leave the AutoLog property of your service set to Automatic. Windows Application event log entries will be automatically created.

cthe default behavior of a visual studio .net windows service application is to automatically log start , stop , pause , and continue operations in the windows application event log. for more information, see chapter 1 .

14. 

What is the main benefit of adding XML-aware components to your application?

  1. Applications can easily be converted to web pages.

  2. It makes it easier to exchange data with other applications.

  3. Applications can easily be converted to web services.

  4. It makes it easier to share program logic with other applications.

bone of the main benefits of working with xml data is that it is a standard, nonproprietary, cross-platform format for data. it is easy to produce xml output that can be sent to other applications and easy to use xml input that is sent to you from outside sources. although xml is often thought of as a web technology, the use of xml alone will not convert your application to a web page or web service. xml is mainly a means of moving data, not a component framework for sharing application logic. for more information, see chapter 7 .

15. 

Your application requires that you are able to support XML data files as input from your e-commerce trading partners, as well as supply results back to them in many formats of XML data files. What namespaces in the .NET Framework class library contain classes that can help you in your application design?

  1. Only System.Data.

  2. Only System.Xml.

  3. The .NET Framework class library does not support XML.

  4. There are many namespaces that contain classes that support working with XML data.

dthe .net framework class library has broad-based support for working with xml data. although classes in system.xml support core xml technologies such as xml document object model programming and xslt, ado.net ( system.data ) and many other namespaces also contain xml-aware components. for more information, see chapter 7 .

16. 

How do you easily change the setting of the Level property of a TraceSwitch?

  1. Change the value of the switch in the application configuration file.

  2. Use the category of each trace message to determine the level.

  3. Set the level as a global variable in your application.

  4. Set the level as a constant in your application.

ausing a configuration file to set the switch level enables you to change the setting as often as required without having to recompile source code. see chapter 8 for more information.

17. 

Authentication is best described as the process of determining:

  1. The permission set available to a user

  2. Whether the .NET code is safe

  3. Your identity to the system

  4. All of the above

cauthentication is the process of demonstrating to the system your identity. for more information, see chapter 9 .

18. 

If you have set the Level property of a TraceSwitch to TraceInfo, which levels of messages will you receive?

  1. Only those that test for Trace.Info

  2. Those that test for Trace.Info and Trace.Verbose

  3. Those that test for Trace.Info and Trace.Warning

  4. Those that test for Trace.Info, Trace.Warning, and Trace.Error

dwhen you set a specific trace level, you automatically include all messages that are at a more critical level. so if you test for trace.info , you will also include trace.warning and trace.error as well. trace.verbose is the least critical level, so it will not be included. see chapter 8 for more information.

19. 

When you use Visual Studio .NET to generate a strongly typed DataSet, what files are added to the project?

  1. An XSD Schema and a class module

  2. An XSD Schema and a config file

  3. An XML document and a class module

  4. An XML and a config file

aa strongly typed dataset is described by an xsd schema. a class module is added to the project that contains dataset properties, methods, and events that are customized for the particular data definition. see chapter 6 for more information.

20. 

ASP.NET supports only Windows authentication.

  1. True

  2. False

basp.net supports windows, passport, forms, and custom authentication. for more information, see chapter 9 .

21. 

The CLR role-based security uses Identity and Principal objects to determine role membership.

  1. True

  2. False

athe clr role-based security uses identity and principal objects to determine role membership. for more information, see chapter 9 .

22. 

Which method of deploying a serviced component should you use to deploy the component into a production environment?

  1. Use dynamic registration.

  2. Use regsvcs.exe.

  3. Generate an MSI file from the Component Services tool.

  4. Write your own script by using the RegistrationHelper class.

cusing an msi file and the windows installer is the recommend approach to installing an application into a production environment. see chapter 10 for more information.

23. 

To authenticate a Web service request, you must use Integrated Windows authentication.

  1. True

  2. False

byou can also use custom authentication. passport and forms authentication, provided by asp.net, are not recommended for xml web service authentication. for more information, see chapter 11 .

24. 

To enable static discovery, you must create a .disco file and place it in the web application’s virtual root folder.

  1. True

  2. False

athe presence of a .disco file in the virtual root of a web application will enable static discovery. for more information, see chapter 11 .

25. 

How can you best describe a Windows service application?

  1. It impersonates the identity of the user who is logged in.

  2. It runs in its own process with its own security account.

  3. It runs in the same process space as the web server with the identity of IUSR_Machine.

  4. It runs in the same process space as the operating system and must have Administrator privileges.

ba windows service runs in its own memory process space and has its own security account, most commonly localsystem. a windows service does not interfere with other users or programs running on the computer. for more information, see chapter 1 .

26. 

To create a .NET component that will be hosted by COM+, what should you do?

  1. Reference the System.EnterpriseServices namespace.

  2. Reference the System.ComponentServices namespace.

  3. Import the System.COMServices namespace.

  4. Import the System.EnterpriseComponents namespace.

ato enable your components to be hosted by .net enterprise services, you must set a reference to the system.enterpriseservices.dll . for more information, see chapter 2 .

27. 

When an object’s lifetime lease expires, what happens?

  1. The client receives an exception.

  2. The object is marked as available for garbage collection.

  3. The client receives an event notification to extend the lease.

  4. The object is immediately removed from memory.

bwhen the object s lifetime lease expires, it is marked as available for garbage collection by the clr. for more information, see chapter 3 .

28. 

When creating an XML Web service application in the .NET Framework, what filename extension is used for your main source code pages?

  1. .aspx

  2. .wsdl

  3. .asmx

  4. .disco

cwhen working with asp.net-based xml web services, .asmx is the filename extension used for your source code pages. the extension .aspx is used for standard asp.net pages. the .wsdl and .disco files contain xml documents that provide discovery and web services description language information. for more information, see chapter 4 .

29. 

In order to read all the rows from a DataReader, which method should you call?

  1. myReader.NextResult()

  2. myReader.MoveNext()

  3. myReader.Read()

  4. myReader.GetValues()

cthe read method is used to advance the datareader to the next row of data. the nextresult method is used when several sql queries were run as a batch and there are multiple resultsets in a single datareader. the movenext method was used with older versions of the ado recordset and is not used in ado.net. the getvalues method is for retrieving column data. for more information, see chapter 5 .

30. 

Which statement best describes the structure of a DataSet?

  1. A DataSet contains a set of records returned from the database.

  2. A DataSet has a collection of DataTable objects. In turn, each DataTable has a collection of DataViews and DataRows.

  3. A DataSet has a collection of DataTable objects. In turn, each DataTable has a collection of DataColumns and DataRows.

  4. A DataSet contains collections of DataTables, DataColumns, and DataRows. Relationships between these objects are defined by DataRelations.

ca dataset contains a collection of datatables. the datatable in turn contains the datacolumns and datarows collections. the dataset, not the datatable, also contains the collection of dataviews, available through the dataviewmanager. the first option describes a recordset object from the older ado object model. for more information, see chapter 6 .

31. 

Which statement best describes the way that an XmlTextReader works?

  1. The XmlTextReader enables you to load an XML data file in memory and have complete programmatic access to the data.

  2. The XmlTextReader enables to you to process each node in an XML file sequentially.

  3. The XmlTextReader enables you to work with your XML data as either a relational table or a hierarchical tree of nodes.

  4. The XmlTextReader enables you to convert text files into XML data.

bthe xmltextreader provides forward-only, read-only access to xml data. the xml dom xmldocument provides complete programmatic access to xml data. the xmldatadocument enables you to treat your data as either a relational table or a hierarchical tree of nodes. there is no class that automatically converts text files to xml. for more information, see chapter 7 .

32. 

What happens when you set the Level property of a TraceSwitch to TraceError?

  1. Output will be written only if there is a runtime error in the application.

  2. Output will be written only if the Trace.Write statement is in an error handler.

  3. All output messages will be written as message boxes that force the application to end.

  4. Output messages will only be written if you set the trace level to 1.

dyou can test for the level property of a traceswitch and use that information to determine which messages should be output. trace statements can be placed in an error handler or anywhere else in code. trace statements are output during the normal course of application execution, not only if a runtime error occurs. message boxes that force the application to break are the typical behavior of trace.assert statements. for more information, see chapter 8 .

33. 

Which of the following best describes .NET Enterprise Services role-based security?

  1. It is no longer used, because it has been superceded by the CLR’s role-based security mechanism.

  2. It requires that users be assigned to Windows groups, to specify the roles to which they belong.

  3. It can be used only when you are using other Enterprise Services such as transactions.

  4. It requires that classes using it inherit from the ServicedComponent class.

d.net enterprise services role-based security requires that classes using it inherit from the servicedcomponent class, as with any class taking advantage of enterprise services such as transactions and message queuing. it does not require that the programmer access any other .net enterprise services in their code. it peacefully coexists with the newer clr role-based security model; each has advantages and disadvantages that make one or the other the best choice in a specific circumstance. unlike the clr role-based security model, .net enterprise services role-based security enables users to be assigned to roles that do not correspond to windows groups. for more information, see chapter 9 .

34. 

In order to allow an XML Web service consumer to specify the network credentials to pass into a Web service call, what property of the proxy object would you set to a NetworkCredential instance?

  1. Credentials

  2. AuthInfo

  3. Identity

  4. Principal

athe credentials property of the proxy object is what should be valued and passed to the service. there isn t an authinfo , identity , or principal property for all proxy instances. for more information, see chapter 11 .

Answers

1. 

B Yes, it is possible to use legacy COM components from Visual Studio .NET projects. Visual Studio .NET will automatically create an interop assembly that exposes the type library from the COM component in a form that is understandable to the Common Language Runtime (CLR). For more information, see Chapter 2.

2. 

A, C The ServiceInstaller and ServiceProcessInstaller classes contain the code necessary for the installer (InstallUtil.exe or Windows Installer) to write to the Registry and register the service in the service controller applet in Windows. These classes contain the code necessary for the installer to install, commit, roll back, and uninstall a Windows service. See Chapter 10 for more information.

3. 

C .NET Remoting is best implemented when all computers are on a closed network and all computers are running the .NET Framework. XML Web services are useful when you must support different platforms. For more information, see Chapter 3.

4. 

A Windows Services are best suited to applications that run without direct user interaction and that report their operations and errors to an event log. For more information, see Chapter 1.

5. 

A The TCP channel does provide faster transmission of data over the network; however, this channel is less secure than HTTP, which can use SSL and other web security features. All components involved in the distributed application must run the .NET Framework in order to use the binary formatter. For more information, see Chapter 3.

6. 

B XML Web services are most suited to creating applications that expose a simple, easy-to- access interface that is nonproprietary and cross-platform. Each of your customers can write application code to call your service and request information from any type of programming language and platform that they might be using. Although XML Web services can provide reasonable performance, because you are often accessing web services over the public Internet, fast performance is not guaranteed. For internal applications, such as intranets and online transaction processing, web services might not provide the best performance and security. For more information, see Chapter 4.

7. 

B You can register Visual Studio .NET components with Windows Component Services to take advantage of distributed transaction management and other features. Visual Studio .NET components that are to be registered with Windows Component Services must reference the .NET Framework System.EnterpriseServices namespace and inherit from the Serviced- Component base class. For more information, see Chapter 2.

8. 

C XML Web services use Internet standards such as HTTP, XML, and SOAP to maintain the greatest possible cross-platform accessibility. TCP implies the use of a lower-level protocol that might be blocked by a firewall. DCOM and binary data formats are generally proprietary and will run only on a single platform. XSD and UDDI are supporting technologies of XML Web services; however, they provide additional services and are not required for a simple XML Web service. For more information, see Chapter 4.

9. 

A, B The <allow> element is used to permit users to consume the service, and the <deny> element is used to prohibit access. For more information, see Chapter 11.

10. 

C A DataSet object is designed to store data in memory while users can update it and write changes back to the database. This capability uses system resources and is slower. An XMLDataReader creates an XMLDocument, which also requires system resources to hold data in memory. The SqlDataReader and OleDbDataReader are fast and efficient objects that provide forward-only, read-only access to data. The disconnected recordset is part of the older ADO object model and is not a part of ADO.NET. For more information, see Chapter 5.

11. 

B The OleDb data provider supports many databases, including older versions of Microsoft SQL Server and Access. The SqlClient data provider is customized for use with Microsoft SQL Server versions 7 and 2000 only. The ODBC data provider is for legacy databases that must use ODBC drivers. For more information, see Chapter 5.

12. 

B Strongly typed DataSets provide compile time type checking of your data columns. Object names are also available in Intellisense. No SQL is automatically generated for the typed DataSet; it is built based on a SELECT query that you define. You do still need to call the DataAdapter Fill and Update methods when working with a typed DataSet. Any type of DataSet can be bound to controls. See Chapter 6 for more information.

13. 

C The default behavior of a Visual Studio .NET Windows service application is to automatically log Start, Stop, Pause, and Continue operations in the Windows Application event log. For more information, see Chapter 1.

14. 

B One of the main benefits of working with XML data is that it is a standard, nonproprietary, cross-platform format for data. It is easy to produce XML output that can be sent to other applications and easy to use XML input that is sent to you from outside sources. Although XML is often thought of as a web technology, the use of XML alone will not convert your application to a web page or web service. XML is mainly a means of moving data, not a component framework for sharing application logic. For more information, see Chapter 7.

15. 

D The .NET Framework class library has broad-based support for working with XML data. Although classes in System.Xml support core XML technologies such as XML Document Object Model programming and XSLT, ADO.NET (System.Data) and many other namespaces also contain XML-aware components. For more information, see Chapter 7.

16. 

A Using a configuration file to set the switch level enables you to change the setting as often as required without having to recompile source code. See Chapter 8 for more information.

17. 

C Authentication is the process of demonstrating to the system your identity. For more information, see Chapter 9.

18. 

D When you set a specific trace level, you automatically include all messages that are at a more critical level. So if you test for Trace.Info, you will also include Trace.Warning and Trace.Error as well. Trace.Verbose is the least critical level, so it will not be included. See Chapter 8 for more information.

19. 

A A strongly typed DataSet is described by an XSD Schema. A class module is added to the project that contains DataSet properties, methods, and events that are customized for the particular data definition. See Chapter 6 for more information.

20. 

B ASP.NET supports Windows, Passport, Forms, and custom authentication. For more information, see Chapter 9.

21. 

A The CLR role-based security uses Identity and Principal objects to determine role membership. For more information, see Chapter 9.

22. 

C Using an MSI file and the Windows Installer is the recommend approach to installing an application into a production environment. See Chapter 10 for more information.

23. 

B You can also use custom authentication. Passport and Forms authentication, provided by ASP.NET, are not recommended for XML Web service authentication. For more information, see Chapter 11.

24. 

A The presence of a .disco file in the virtual root of a web application will enable static discovery. For more information, see Chapter 11.

25. 

B A Windows service runs in its own memory process space and has its own security account, most commonly LocalSystem. A Windows service does not interfere with other users or programs running on the computer. For more information, see Chapter 1.

26. 

A To enable your components to be hosted by .NET Enterprise Services, you must set a reference to the System.EnterpriseServices.dll. For more information, see Chapter 2.

27. 

B When the object’s lifetime lease expires, it is marked as available for garbage collection by the CLR. For more information, see Chapter 3.

28. 

C When working with ASP.NET-based XML Web services, .asmx is the filename extension used for your source code pages. The extension .aspx is used for standard ASP.NET pages. The .wsdl and .disco files contain XML documents that provide discovery and Web Services Description Language information. For more information, see Chapter 4.

29. 

C The Read method is used to advance the DataReader to the next row of data. The NextResult method is used when several SQL queries were run as a batch and there are multiple resultsets in a single DataReader. The MoveNext method was used with older versions of the ADO recordset and is not used in ADO.NET. The GetValues method is for retrieving column data. For more information, see Chapter 5.

30. 

C A DataSet contains a collection of DataTables. The DataTable in turn contains the DataColumns and DataRows collections. The DataSet, not the DataTable, also contains the collection of DataViews, available through the DataViewManager. The first option describes a RecordSet object from the older ADO object model. For more information, see Chapter 6.

31. 

B The XmlTextReader provides forward-only, read-only access to XML data. The XML DOM XmlDocument provides complete programmatic access to XML data. The XmlDataDocument enables you to treat your data as either a relational table or a hierarchical tree of nodes. There is no class that automatically converts text files to XML. For more information, see Chapter 7.

32. 

D You can test for the Level property of a TraceSwitch and use that information to determine which messages should be output. Trace statements can be placed in an error handler or anywhere else in code. Trace statements are output during the normal course of application execution, not only if a runtime error occurs. Message boxes that force the application to break are the typical behavior of Trace.Assert statements. For more information, see Chapter 8.

33. 

D .NET Enterprise Services role-based security requires that classes using it inherit from the ServicedComponent class, as with any class taking advantage of Enterprise Services such as transactions and message queuing. It does not require that the programmer access any other .NET Enterprise Services in their code. It peacefully coexists with the newer CLR role-based security model; each has advantages and disadvantages that make one or the other the best choice in a specific circumstance. Unlike the CLR role-based security model, .NET Enterprise Services role-based security enables users to be assigned to roles that do not correspond to Windows groups. For more information, see Chapter 9.

34. 

A The Credentials property of the proxy object is what should be valued and passed to the service. There isn’t an AuthInfo, Identity, or Principal property for all proxy instances. For more information, see Chapter 11.



MCAD/MCSD(c) Visual Basic. NET XML Web Services and Server Components Study Guide
MCAD/MCSD: Visual Basic .NET XML Web Services and Server Components Study Guide
ISBN: 0782141935
EAN: 2147483647
Year: 2005
Pages: 153

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net