Wednesday, June 30, 2004

Sax.net and Fun with JLCA 2.0
...
With literally a handful of keystrokes I was able to convert a significant amount of java language code to C#, leaving me with the more interesting points of the conversion and getting rid of the monotony for me. I still have my anal-retentive tasks to perform, such as upgrading the comments to work with VS.NET's code comment builder (and Roeder's Commenter as well). But the JLCA took a large amount of that pain away from me quickly.
On Writing

http://pluralsight.com/samples.aspx?category=aspdotnet
Sample asynchronous handler implementation in ASP.NET 1.x
Fritz Onion
Efficient Role-Based Authorization Sample
Fritz Onion
Bar graph control with designer
Fritz Onion
Dog control (designer integration example)
Fritz Onion
Using IIS/ASP.NET to Host .NET Remoting Servers
Mike Woodring
Logging HTTP Module
Mike Woodring

http://pluralsight.com/books/essentialasp.net/
Essential ASP.NET with Examples in C#
Don Box's Spoutlet
Vil v1.1 released - has features requested by TSS.NET readers!
benjaminm's blog - BOF001: James Newkirk on Integrating Unit Testing into the Software Development Lifecycle.
Getting started on XSD

XSD Schema Tricks and Tips by Kurt Cagle - http://www.vbxml.com/xml/articles/xsd/default.asp
XML Schema Part 0:Primer - http://www.w3.org/TR/xmlschema-0/

You must have a different version of Visual Studio .NET than me (2003).

In my version, I can bring up the properties window (F4) to set minOccurs and maxOccurs.

I can also open any XML file, right click on it and choose "Create Schema".

I also get little red squigglies when my test XML file doesn't match its assigned schema.

I like XML Spy as much as anyone, but I don't think its fair to say something "sucks big time" before you know all the facts.
Dynamic Search Conditions in T-SQL
Long article but great one by Erland Sommarskog on searching data with many criterias.
I prefer myself stored procedure, but there you can find some good alternatives.

Another Ambient Orb used for continuous integration status
Here's a little more about our build process. When our CruiseControl.NET server kicks off a build it does the following:

Build using NAnt*
Get files from SourceSafe using NAntContrib
Unit test using NUnit
Coverage analysis of unit tests using NCover*
Generate MSDN style documentation using NDoc
Generate a missing documentation tag report (homegrown script that reports the tags in the NDoc documentation)*
Perform static analysis using FxCop
Create Windows Installers using WiX
Generate build manifest report (homegrown script that lists all files and version numbers that are included in the distribution)*
Finally it indicates to the Orb whether all of the above succeeded or not.
* We have extended CruiseControl.NET's web to include pretty reports for these items.
Free ASP.NET Controls

Matt Hawley has a terrific set of custom controls on his Excentrics World website. How did I miss these for so long? In addition to a few standards (calendar, show/hide panel), he's added some highly practical variations like a textbox that uses an input mask (see the phone number demo) and a time picker to go with all your calendars. Nifty.

Accordion Panel
Bread Crumb Trail
Calendar Popup
Collapsable Panel
Empty DataGrid
Faq Repeater
Masked TextBox
Multi-Text List Controls
Numeric Box
Ordered ListBox
Time Picker
Matt's blog is pretty cool too. Looks like he does a fair number of reviews and has a usable rating system (as in he actually scores components a 1 from time to time rather than alternating between 4's and 5's).

Anytime the topic of controls comes up, t'would be remiss to omit Andy Smith's terrific MetaBuilders site with a mix of indispensible free and commercial controls. Andy's just released the MultiViewBar, check it out! [Andy's Weblog]

Welcome to the Visual Studio 2005 Beta Documentation

Title: Visual Studio 2005 documentation


.NET Framework SDK v2.0 Beta 1 is now available!
jbower's WebLog
Goodies with each of the Visual Studio 2005 Express downloads

Each of the Visual Studio 2005 Express Editions have additional goodies as samples. The best goodie of the lot comes with Visual C# Express Edition

RSS Screen Saver Starter Kit -- The Visual C# Express Edition 2005 RSS screen saver is a fully customizable sample application and documentation that shows how you can create a screensaver that rotates through background images and displays content from an RSS (Really Simple Syndication) feed.

I love it!! And to think I bought one of these a while ago and lamented the lack of support of the .net framework


jbower's WebLog
VSIDE's WebLog
MSDN .NET Framework Developer Center: Regional Director Blogs
RSS Bandit - Rss Bandit
...
I must say, although I haven't tried many RSS readers, try SharpReader. Very cool so far and has many of the features you miss. Must have .NET 1.1 installed to use...
http://www.sharpreader.net/
...

Good luck! I've landed on RSSBandit (I've been using it for a long time now) and I'm devoted enough to be forgiving... ;)

I tried the others, but they just didn't do it for me. The killer feature was the inline comments, the fact that I can post comments directly from it (if the weblog supports the Comment API), and the tree view on the left.

I tried newsgator but I didn't like the way the columns were setup by default and I have many subfolders to categorize my blogs - each one had to be configured separately.
RSSBandit supports categorized feeds (subfolders) beautifully.

Stick with it, you'll like it more as time goes on.
...

I've recently switched from SharpReader to SauceReader to RSS Bandit, and am sticking with RSS Bandit for the time being despite the warts you noted (plus some others - for instance - clicking on my collapsed Weblogs.Asp.Net folder causes mayhem in the list page as each feed is loaded into the list one at a time.) I was tired of the crazy memory usage in Sauce/SharpReader, and SauceReader's posting tool crashed and took out a post right as I was trying to submit it.

And the shared OPML / state thing is really cool. I wish it was automatic - retrieve on startup, upload on shutdown - but it's nice to have my read posts at work marked as read when I get home.
Storyboarding
BizTalk Core Engine's WebLog
Automated Continuous Integration and the Ambient Orb�
.NET Framework Developer Center refresh!
Cool (and important) new stuff to read
Must reads:

· The Service Oriented Architecture section of the MSDN Architecture Center.

o Specifically, the whitepaper “Service Orientation and Its Role in Your Connected Systems Strategy”.

· Smart Client Architecture and Design Guide

· Integration Patterns

I’m pretty sure I had some deep thoughts yesterday on various topics, but I’ve forgotten them. Sigh.

Personal Profile: PatternWorkspaces
Personal Profile: PatternWorkspaces
--------------------------------------------------------------------------------
User Information

User name PatternWorkspaces
E-mail Contact this user through GotDotNet
User type Developer(general)
Member since October 17, 2002

User Workspaces

Microsoft Patterns & Practices Data Access for .NET VB.NET, C#
This community will discuss topics covered in the patterns & practices

Application Architecture for .NET: Designing Applications and Services

Enterprise Template for Application Architecture
This Workspace is for a Visual Studio Enterprise Template supporting the pa

Caching Architecture Guide for .NET Framework Applications

Building Secure ASP.NET Applications

Architectural Repository
Please accept this invitation to share architectural papers, presentations,

Visual Studio Enterprise Templates VB.NET, J#, C#, C++
This community Workspace is for architects and development managers using t

Design Pattern: Model-View-Controller

Implementation Pattern: Implementing Front Controller in ASP.NET Using HTTP Handler

Design Pattern: Front Controller

Design Pattern: Page Controller

Enterprise Templates for BizTalk Server
BizTalk Server has certain artifacts that a BizTalk developer will encounte

Design Pattern: Data Transfer Object C#, VB.NET, J#, C++
Workspace for Data Transfer Object design pattern located at [http://msdn.m

Implementation Pattern: Implementing Model-View-Controller in ASP.NET

Implementation Pattern: Singleton in C#
Workspace for the Implementing Singleton in C# pattern located at [http://m

Architecture Pattern: Three-Tiered Distribution
This Workspace is for the Three-Tiered Distribution architecture pattern lo

Implementation Pattern: Broker with .NET Remoting Using Client-Activated Objects
This Workspace is for the Implementing Broker with .NET Remoting Using Clie

Pattern: Implementing Page Cache in ASP.NET Using Absolute Expiration

Design Pattern: Singleton
Workspace for singleton design pattern located at [http://msdn.microsoft.co

Architecture Pattern: Three-Layered Services Application

Design Pattern: Page Cache
This Workspace is for the Page Cache design pattern located at [http://msdn

Design Pattern: Intercepting Filter
This Workspace is for the Intercepting Filter design pattern located at [ht

Architecture Pattern: Layered Application
This Workspace is for the Layered Application architecture pattern located

Implementation Pattern: Data Transfer Object with a DataSet
Workspace for Implementing Data Transfer Object with a DataSet pattern loca

Design Pattern: Failover Cluster
This workspace

Implementation Pattern: Implementing Service Interface in .NET
This workspace covers

Implementation Pattern: Broker with .NET Remoting Using Server-Activated Objects
This Workspace is for the Implementing Broker with .NET Remoting Using Serv

Design Pattern: Broker
This Workspace is for the Broker design pattern located at [http://msdn.mic

Implementation Pattern: Implementing Observer in .NET
This Workspace is for the Implementing Observer in .NET pattern located at

Implementation Pattern: Data Transfer Object with a Typed DataSet
Workspace for the Implementing Data Transfer Object with a Typed DataSet pa

Implementation Pattern: Service Gateway in .NET
Workspace covers

Design Pattern: Observer
This Workspace is for the Observer design pattern located at [http://msdn.m

Architecture Pattern: Server Clustering
THis workspace

Design Pattern:Service Gateway

Design Pattern: Load-Balanced Cluster
Workspace for the Load-Balanced Cluster design pattern located at [http://m

Design Pattern: Service Interface

Architecture Pattern: Deployment Plan

Architecture Pattern: Tiered Distribution
This Workspace is for the Tiered Distribution architecture pattern located

Design Pattern: Master-Slave Replication
This workspace is for collaboration on the Master-Slave Replication design

Design Pattern: Master-Master Row-Level Synchronization
This workspace is for the Master-Master Row-Level Synchronization design pa

Design Pattern: Master-Master Replication
This workspace is for collaboration on the Master Master Replication design

Implementation Pattern: Implementing Master-Master Row-Level Synchronization Using SQL Server
This workspace is for collaboration on the Implementing Master-Master Row-L

Implementation Pattern: Implementing Intercepting Filter in ASP.NET Using HTTP Module

Design Pattern: Capture Transaction Details
This workspace is for the Capture Transaction Details design pattern.

Implementation Pattern: Implementing Page Controller in ASP.NET

Architecture Pattern: Data Replication
This Workspace is for collaboration on the Data Replication architecture pa

Solution Patterns Using Microsoft .NET

.NET Architect Evangelists
Community Workspace for .NET Architect Evangelists

Design Pattern: Master-Slave Snapshot Replication
This workspace is for the Master-Slave Snapshot Replication design pattern.

Design Pattern: Master-Slave Transactional Incremental Replication
This workspace is for collaboration on the Master-Slave Transactional Incre

Pattern harvesting from Microsoft.com
Private, hidden Workspace for collaboration on pattern harvesting from Micr

Pattern Frame: Enterprise Solution Patterns Using Microsoft .NET
This Workspace is for the pattern frame used to organize Enterprise Solutio

Implementation Pattern: Master-Slave Transactional Incremental Replication Using SQL Server
This workspace is for collaboration on the Implementing Master-Slave Transa

ApplicationBlocks.Data
Private, hidden workspace for the Data Access Application Block to replace

Architecture Pattern: Move Copy of Data
asdas

Implementation Pattern: Implementing Master-Slave Snapshot Replication Using SQL Server
This workspace is for collaboration on the Implementing Master-Slave Snapsh

Design Pattern: Master-Slave Cascading Replication
This workspace is for collaboration on the Master-Slave Cascading Replicati

Pattern Review
Private, hidden community is for patterns review discussions.

ApplicationBlocks.ExceptionManagement
Private, hidden workspace for the Exception Management Application Block to

Integration Patterns
This community is for collaboration on integration patterns. ..

Microsoft patterns and practices
patterns & practices: Code

Developer
Aggregation Application Block for .NET
A Web application often requires information from multiple, disparate services (for example, a Web service, Microsoft SQL Server 2000, and Microsoft BizTalk 2000). When a user of that application wants to view information available from these services, the client sends a request to the Aggregation framework. The Aggregation framework dispatches Service Agents to gather the requested information from the various service providers, and the results are transformed into a single XML document for the client.

Asynchronous Invocation Application Block for .NET
Microsoft .NET Framework class library that allows you to increase the performance of your Web application and enhance the end users' experience. The block manages requests from multiple sources for information from a client, dispatches Service Agents to communicate with each service provider (database, web service, etc.), and as the requested information becomes available, it is sent to the client for display. In this manner, a partially completed page is ready for viewing even before all requested information becomes available. The end user perceives a faster application, and server resources are freed much more quickly than in a conventional synchronous scenario.

Authorization and Profile Application Block
The Authorization and Profile Application Block provides an infrastructure for role-based authorization and access to profile information. The block enables you to: Authorize a user of an application or system. Use multiple authorization storage providers. Plug in business rules for action validation. Map multiple identities to a single user. Access profile information that can be stored in multiple profile stores.

Caching Application Block for .NET
Microsoft .NET Framework class library that allows you to increase the efficiency and scalability of distributed applications by caching Web service data, which saves time and resources that are needed to refresh data that is still current. Data can be cached in several formats, including a Microsoft SQL Server 2000 database, a memory-mapped file, or a singleton object. The Caching Application Block also includes example classes for caching, scavenging, expiration, and data protection.

Configuration Management Application Block for .NET
A simple yet flexible solution that you can use across all your applications to manage configuration data. Specifically, it provides a set of methods that allow you to read and write application configuration data without the need to instantiate objects or perform complex data conversions in your code through a flexible data model that allows you to use any in-memory data structure to represent your configuration data.

Data Access Application Block for .NET
The Data Access Application Block is a .NET component that contains optimized data access code that will help you call stored procedures and issue SQL text commands against a SQL Server database. The documentation provides guidelines for implementing an ADO.NET-based data access layer in a multi-tiered .NET application. It focuses on a range of common data access tasks and scenarios and presents guidance to help you choose the most appropriate approaches and techniques. This guide encapsulates performance and resource management best practices and can easily be used as a building block in your own .NET application. If you use it, you will reduce the amount of custom code you need to create, test, and maintain.

Enterprise Notification Reference Architecture for Exchange 2000 Server
This document provides a brief overview of the Enterprise Notification Reference Architecture for Exchange 2000 Server, which consists of code and documentation designed to accelerate the development of a messaging infrastructure that provides instant notification of events to users. The Reference Architecture code enables developers to implement notification services in an enterprise environment. The documentation explains the design and implementation decisions that developers of the Reference Architecture made and also explains how to install the code.

Exception Management Application Block for .NET
Exception Management Application Block for .NET consists of an architecture guide and an application block. The documentation discusses design and implementation guidelines for exception management systems that use .NET technologies. It focuses on the process of handling exceptions within .NET applications in a highly maintainable and supportable manner. Exception Management Application Block for .NET provides a simple yet extensible framework for handling exceptions. With a single line of application code, you can easily log exception information to the Event Log or extend it by creating your own components that log exception details to other data sources or notify operators, without affecting your application code. Exception Management Application Block for .NET can easily be used as a building block in your own .NET application.

Logging Application Block
Building useful logging capabilities into your applications can be a significant challenge. At the very least, you need to determine what information is appropriate to log, design the events themselves, and make them available for analysis in an appropriate format. Effective logging is useful for troubleshooting problems with an application as well as provides useful data for analysis, helping to ensure that the application continues to run efficiently and securely. To help provide effective logging for enterprise applications, Microsoft has designed the latest patterns & practices applications block: The Logging Application Block. This block is a reusable code component that uses the Microsoft Enterprise Instrumentation Framework (EIF) and the Microsoft .NET Framework to help you design instrumented applications.

Microsoft Content Integration Pack for Content Management Server 2001 and SharePoint Portal Server 2001
Microsoft Content Integration Pack for Content Management Server and SharePointT Portal Server (Content Integration Pack) consists of engineered code and documentation that enable customers to integrate Microsoft Content Management Server 2001 and Microsoft SharePoint Portal Server 2001 so that users can combine the features of the two programs into an end-to-end solution for document publishing.

Smart Client Offline Application Block
The Offline Application Block embodies the functionality that enables the smart client user to enjoy a seamless experience even when working offline. It demonstrates possible approaches for: Detecting the presence or absence of a network. Caching the required data so the application can function while offline. Synchronizing the client application state and /or data with the server when the application goes online again.

Updater Application Block for .NET
A .NET solution that provides a "pull model" solution to automatically download application updates from a central location, designed for organizations who want the rich functionality of Windows Forms applications with the centralized manageability of Web-based applications. By using the Updater Application Block to download application updates, you can overcome the security "sand box" limitations of downloading Windows Forms applications through a browser, while still maintaining control and security over the application update process.

User Interface Process Application Block - Version 2.0
The User Interface Process Application Block provides a simple yet extensible framework for developing user interface processes. It is designed to abstract the control flow and state management out of the user interface layer into a user interface process layer.

User Interface Process Application Block for .NET
Simple yet extensible framework for developing user interface processes. It is designed to abstract the control flow and state management out of the user interface layer into a user interface process layer. This enables you to write generic code for the control flow and state management of different types of applications (for example, Web applications and Windows-based applications) and helps you write applications that manage users' tasks in complex scenarios (for example, suspending and resuming stateful tasks).


IT Pro
Microsoft Content Integration Pack for Content Management Server 2001 and SharePoint Portal Server 2001
Microsoft Content Integration Pack for Content Management Server and SharePointT Portal Server (Content Integration Pack) consists of engineered code and documentation that enable customers to integrate Microsoft Content Management Server 2001 and Microsoft SharePoint Portal Server 2001 so that users can combine the features of the two programs into an end-to-end solution for document publishing.
Examining the Data Access Application Block

In an earlier article of mine, An Introduction and Overview of the Microsoft Application Blocks, we outlined the purpose and benefits of Microsoft Application Blocks. Application Blocks encapsulate two common patterns encountered in application programming, data access and exception management. Application Blocks provide value by making our programming more efficient and our programs more maintainable. They speed the application development process by "wrapping" common tasks. In this article we will examine code samples that illustrate the advantages of using the Data Access Application Block.


Tuesday, June 29, 2004

Christopher Anthony's Computing Blog found @ DotNetRocks
Linux -> .NET experience