Open for suggestions

Published 01 September 05 05:43 PM | despos

As mentioned in a previous post, the ASP.NET 2.0 Core Reference book is done, and I just started on the second book--Advanced Topics.

Effectively, the Microsoft Press Web site is not particularly clear on this point, so let me clarify (and sorry for any repetition you might find)

I'll have two books out on ASP.NET 2.0

Even though the Core Reference book is already on sale on Amazon (and apparently is performing almost as high as the book on ASP.NET 1.x), neither Amazon nor the MS Press Web site to date offer enough information on what will really be in. Refer to this post for the TOC of the two books. 

This said, feel free to suggest examples and topics I can cover in the advanced book. Can't wait to hear your thoughts. 

 

Comments

# Marcus McConnell said on September 1, 2005 12:14 PM:

I'd like to see the topic of extendable architecture covered. How to deal with plugins and dynamically loading assemblies. How do you handle security and unloading assemblies.

# Jeff Parker said on September 1, 2005 12:40 PM:

Marcus, that is actually fairly easy. You can't unload an assembly once it has been loaded into an app domain. Which is basically the key to all of it. You can create new appdomains dynamically then unload the app domains. There is a very good article on MSDN on this here http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp05162002.asp

And psst Dino I know it never hurts to advertise. But you sold me one after I read the first one. If anyone hasn't read a Dino Esposito book on web development then they just aren't an asp.net developer.

# Sergio Pereira said on September 1, 2005 01:26 PM:

Dino, to keep riding the wave, you could try to have some AJAX sprinkled in your client scripts chapter. Maybe offering an insight of what ATLAS is supposed to bring to the toolbox.

# Pazu said on September 1, 2005 03:03 PM:

More examples on "correct way" to inject JS when building UserControls, More explanation of page lifecycle - when controls are "live", when setting of their properties is useless because it will be overwritten by next phase. Problems with reacting to events in the midst of lifecycle, when some of the properties have been set by engine and you need to change it. More on generation and insertion of controls on-the-fly and how correctly mainatin their viewstate and events.

# rezA said on September 1, 2005 04:32 PM:

I am not quite sure whether it is in the scope of this book or not, but a chapter on "UI Design Pattern (For WEB)" seems useful.
And also AJAX and CallBacks mechanism should be covered in depth.

# DinoE said on September 2, 2005 02:46 AM:

Nice to see suggestions coming. A few answers to questions some of you posed.

1) I'll certainly cover AJAX.NET and compare it to Atlas and raw callbacks.
2) The page lifecycle is fully covered in the CoreRef book, with an example of dynamically added controls.
3) In both books I 80% of the time use custom collections and NOT data-tables and also illustrate the TDG design pattern for building a DAL. Data-bound controls are bound to a realistic DAL. You'll be pleased to see how little relevant is the use of custom collections vs. data.-table from the control perspective. And yes, there will be NO visual studio drag-and-click stuff. Binding is always programmatic (even when ... declaratively done :))

===

It was quite hard to decide how to split the book in two grouping topics to ensure that both books would have had a reasonable and wide enough market and each provided valuable and sensible information. I tried to stuff in the CoreRef all that I feel one has to know to be able to build Web apps. In the other book, there will be room for other topics and for more details (not relevant to building apps, but critical to understand internals and architecture) on topics already touched on in the CoreRef.

# DinoE said on September 2, 2005 02:49 AM:

For both books, code examples will be BOTH c# and vb. It was the same for other books, including Programming ASP.NET.

# Andrew Deren said on September 2, 2005 12:11 PM:

I agreen with Pazu. I would like to see detailed page lifecycle explanation. An order of methods and events called from master page, page, user control and custom controls. With so many methods now, it's hard to figure out exactly what happens.

Also, on how to use script manager.

# Milan Negovan said on September 3, 2005 10:49 PM:

Dino, can you please keep this book under 800 pages? Say, around 600 pages maybe? Even better---500 pages. My bookshelf is breaking under the weight of these giant books which takes a lifetime to read. :)

# Mike Coleman said on September 6, 2005 09:38 AM:

Dino - First let me say I enjoy your work and writings. They have assisted me numerious times. I to am working on various Enterprise applications using 1.1 and most recently ASP.Net 2.0. Some items that I would like to see are 2.0 examples hitting real world scenarios in a logically and physically seperated architecture. Our production environment consists of two clustered web servers, 3 clustered business servers all managed by Application Center. In addition, SQL server resides on seperate box. As said, our apps are n-tier and physically distributed with the ASP.Net layer calling Entrerprise Service Components. That said, I would like to see best practices calling an ESC from a ASP.Net app. Exception consideration such as the correct way to catch COMExceptions... best practices for logging exceptions and errors, etc. So much has been said about calling SQL server from ASP.Net apps and binding with mark-up but I find it hard to believe that is how most entrerprise level apps communicate with the data tier. How about thoughts, best practices for using facades or helper classes calling business components. When I think of advance topics, I want to know "why" I should do something not only "how" to do something. Advance topics should provide examples for using the ASP.Net Framework to build Enterprise level applications... not a "Hello-connect-to-SQL-server-using-straight-mark-up-because-it's-not-a-distributed-application-and-everything-runs-on-one-box-write-a-simple-select-statement-and-fill-a-GridControl-World" application. When you say advanced... make applicable in the Enterprise...not the Home/Hobby web site. I realize you're hitting features of 2.0... but keep them directed towards Enterprise/business usage.

Regards
Coleman

# Ian Ringrose said on September 7, 2005 07:14 AM:

A chapter on unit testing of apsx pages and a separate chapter on system testing of asp.net applications, e.g. a basic introduction to using nUnit and Fit with asp.net. Just enough to get someone started to they can then read the online documentation. It may also be worth talking about one or more of the testing frameworks that call to IE with the DOM.

If someone does not know about these tools, they will not go and find out about them, so tell them enough that they know what is possible and where to get the information.

# Daniel Hirsch said on September 10, 2005 12:57 AM:

I would agree with Pazu in his statement "More examples on "correct way" to inject JS when building UserControls". Most of my ad hoc and regular re-usable controls have javascript worked in...but usually, I just print the scripts to the page...how to do it right would be a nice thing to know. I've seen it done right, but I don't know how to do it..if that makes sense.

# Mike Coleman said on September 12, 2005 12:36 PM:

Relating to scripting. A good way to mark a page dirty. I.E. Any data in a form changes, I notifiy the user prior to navigating away from the page that they have changed data and it will not be saved unless they submit. This would include taking in consideration if dhtml has updated controls. In addition, this would encompass server controls and html controls. Looking for a best practice or recommendation.

# Mike Coleman said on September 12, 2005 12:38 PM:

In addition to my prior post: The prompt would be smart. If nothing has changed... then let the navigation commence without prompting. Basically an isDirty/controller/flag mechanism.

# Ken Palmer said on September 12, 2005 11:33 PM:

Dino, I'm an intermediate ASP.Net developer building enterprise intranets. Beyond datasets, our team is frequently asked to create applications that do a variety of tasks outside the realm of the typical ASP.Net development book. While Google.com is a good resource, it's nice to have a book that explains some of the less documented features of ASP.Net.

For example, I've created several applications in ASP 3.0 that allow users to upload files. Typically they are reports, images, or media files. We use the ASPUpload component for this. I'm sure with ASP.Net it's possible to do this without external components.

A dedicated chapter on file uploading would be much appreciated. Not only how do you upload to a server; but how can you upload to a database (and retrieve a file from the database); how can you encrypt a file that's being uploaded? When an image is uploaded, how can I resize it into a thumbnail? How can I display an upload progress indicator from a web page?

Microsoft Reporting Services is another topic that is of strong interest to our management team. An introduction to reporting services, with examples would also be helpful.

Security and cryptography is another topic of interest. What are best practices for securing websites and web services?

Creating bots and spiders with ASP.Net. How can I create an application that will crawl websites for news relevant to our company or industry, and display it on a web page, or add it to a database or report?

Tips for more efficient coding. Tools in the Visual Studio IDE that will cut your development time in half.

I strongly agree with Mike Coleman, regarding the importance of knowing both "how" to do something, and "why" it should be done a certain way. Too often books fall into either "cookbook" explanations, showing how to do something with little explanation; or into "theoretical" dissertaions that delve too deeply into theory without providing practical real-world examples. A balance needs to be struck.

Thanks.
KenPalmer@hotmail.com

# Mike Coleman said on September 13, 2005 02:33 PM:

Some other thoughts...

An example of synchronizing a cached item in an Application Center load balanced web farm with a database dependency (*** BUT ***) you use Enterprise Serviced Components as your middle tier and as the only access to the datastore ( *** AND ***) your ESC's and database reside on seperate physical servers behind the DMZ. (A logical and physical n-tier environment.) Basically port 1433 is unavailable to the web tier.

In addition, with this type of layout, an example of creating and using the new Profile provider with this scenario.

Using the new ObjectDataSource with this type of environment.

Perhaps examples of creating a media control that allows for easy content/binary streaming.


Regards
Coleman

# Daniel Hirsch said on September 14, 2005 08:16 PM:

Ken...you really don't need a chapter for it...in the documentation for .NET 2.0 there are some detailed examples of how to do it. You will be pretty pleased with the built in control. However, it does have its size limitations...by default I thin kits like 7-8 meg..but you can tweek your app settings. My app uses that control many times every day without a hitch..its great stuff.

# korent said on December 31, 2007 08:37 PM:

<a href= http://index1.nukysy.com >extreme funny sports pics</a>

Leave a Comment

(required) 
(required) 
(optional)
(required)