Go Where No Man Has Gone Before
Spiking is a skill, one that must be learned. And one thing you must learn is to relax and open your mind to the different possible solutions to your problem. Often, obvious solutions will not solve your problem; you have to look deeper. That's why we get paid as software developers to solve such problems!
The following exercises reinforce what you have learned in this chapter and require that you consider spiking in a bit more detail. As you work through the exercises, remember to encode your learned knowledge into tests. If you get stuck at any point, look for some clues on my Web site at http://eXtreme.NET.Roodyn.com.
Exercise 6-2: Spike Web Services Without a Web Server
The client wants to build an application that can be run on many machines in his company (laptops, desktops, and servers). He wants each machine to provide some status information via a Web service that can be queried on that particular machine. The machines might not necessarily be running IIS. The question is whether can we build a .NET Web service without the need for that machine to host a Web server.
Exercise 6-3: Spike Session State Across Service Calls
Our customer wants to amalgamate a number of Web service functions through a Web site. We propose to build the Web site in ASP.NET. The issue is that some of the Web services need to maintain state. Is it possible to do this?
Exercise 6-4: Spike Drag and Drop Documents in a Rich Text Control
The application we are building requires that it interact with other documents by allowing the user to drag a document from Explorer and drop it onto a Rich Text box. As with Outlook when you send an e-mail, the user wants to see the document as an icon and not the contents of the document. Is this something we can easily achieve?