Last updated:

                                

Powered by Web Connection

 




Articles and Papers by Rick Strahl

Welcome to our free article library. We hope you find the material provided here useful in your development of Web and distributed applications. If you find an article useful consider a small donation to support this article archive by clicking on the links provided on the article pages.


An Introduction to jQuery
9/29/2008
Part 1 of this 2 part series introduces the jQuery JavaScript library and provides an overview of the functionality this powerful library provides. Article starts with an overview of what jQuery is and does followed by a walkthrough of some of jQuery's prominent features starting with Selectors, Wrapped Set functions, event handling all the way up to simple plug-in creation. Part 1 deals purely with client side functionality. Part 2 addresses ASP.NET integration and AJAX functionality.

Digitally signing and validating an XML Document
3/1/2008
This article describes the complete process of signing an XML document with a private key certificate, and then validating the same document with the public key. The includes step by step instructions including creating a test certificate and installing it and how to use the certificate from your code for signing and validation. It also covers installation of a full certificate from a qualified CA which is a slightly different process. A sample class that works with any SOAP Envelope XML document is  provided to demonstrate.

Setting up and running Subversion and Tortoise SVN
8/9/2007
This article is a quick start step by step guide for setting up Subversion for Source Control and using Tortoise SVN to set up and manage your repository and local copies of projects. This article uses a Visual Studio Solution as an example, but the same concepts can be applied to any tool or set of files for that matter. The article discusses installation and setup, creating of a repository, creating local copies and basic day to day operations.

Creating a data driven ASP.NET Resource Provider & Editor
7/19/2007
Find out how to build an ASP.NET 2.0 Resource Provider that uses database data for its localization storage rather than Resx files. Database resources can be much more flexible and this article demonstrates how to build a powerful ASP.NET resource editing front end that allows editing of resource data in a live ASP.NET application in a context sensitive manner.

Introduction to Localization in ASP.NET 2.0
7/18/2007
Check out the localization features in ASP.NET 2.0 and understand how they work under the covers. This introduction focuses on the ASP.NET 2.0 specific technology for localization and discusses how Resource Providers are used to provide the various integrated localization features in ASP.NET 2.0 and Visual Studio .NET. The focus of this article is on the technology rather on the deep semantics of localization. Serves as an introduction for the Resource Provider article.

Create a Screen Capture Plugin for Windows Live Writer
3/25/2007
This article demonstrates how to build a Windows Live Writer plugin that allows for embedding screenshots into the current Blog entry being edited. The article describes the basics of content plugins for Live Writer and uses a plugin that uses SnagIt from Techsmith to provide an easy and flexible way to do screen captures directly into your blog content using C# code...

Calling and Hosting FoxPro Web Services through .NET
1/9/2007
Web Services with Visual FoxPro have always been problematic with Visual FoxPro especially if dealing with services that publish complex types. The most common Web Service tool for FoxPro is the SOAP Toolkit which has been discontinued and has a host of problems dealing with complex types. In this article I discuss how you can leverage .NET to make Web Service calls from Visual FoxPro and how to host Visual FoxPro components in .NET Web Services. The article also demonstrates how to use Windows Communications Foundation (WCF) for the same tasks.

Creating a two-way data binding Extender Control for ASP.NET 2.0  MSDN
11/15/2006
As much as ASP.NET 2.0 improves data binding, one aspect - simple control binding for controls like textboxes, checkboxes and selected values of lists for example - is still tedious especially when it comes to unbinding data. This article demonstrates a powerful extender control that can provide easy to use two-way databinding semantics. Using the control you can easily bind and unbind any control properties to any data field or property of an object with full control over binding, unbinding and dealing with binding errors at runtime. The article demonstrates the control functionality and discusses the design of building an ASP.NET 2.0 extender control that provides the flexibility to extend any existing controls on a Page, Master Page or User Control. Article is published on MSDN

 Compilation and Deployment in ASP.NET 2.0
9/25/2006
Compilation and deployment in ASP.NET 2.0 has brought some of the biggest changes to the ASP.NET development model. As developers we use page compilation all day long and deployment is something we all have to worry about sooner or later. A lot has changed in both areas and they can affect how you build and deploy your applications so understanding how the model works is crucial. In this article I'll provide a detailed discussion of how compilation and deployment works. I'll also talk about the new Web Deployment Projects and Web Application Projects add-ins that Microsoft is providing to ease some of the pain points of the stock functionality shipped with ASP.NET 2.0 and Visual Studio 2005.

 Integrating Electronic Payment Processing into ASP.NET
4/11/2006
Find out to integrate Credit Card processing into your ASP.NET applications. This long article starts at the beginning discussing how the actual payment processing works from the provider level and delves into details with specific implementations for several common gateway services and a set of classes you can use for payment processing. Finally an example shows how to integrate these classes in a live application.

Advanced FoxPro COM Interop Article Series
12/23/2005
Are you using COM Interop from Visual FoxPro to communicate with .NET? This series of articles takes you through some of the scenarios you are likely to run into once you go beyond the basics of calling simple COM objects and show more sophisticated .NET functionality that you can take advantage of in your FoxPro code with a little extra work.
   1. Passing objects between FoxPro and .NET COM Components
   2. Handling .NET Events in FoxPro via COM Interop
   3. Creating multi-threaded components for COM Interop

 Using Script Callbacks in ASP.NET 2.0
10/02/2005
Find out how to use the Script Callbacks feature in ASP.NET 2.0 which provides a built-in, rudimentary AJAX implementation in ASP.NET 2.0. This two part article series on ASPToday covers an overview of AJAX in general, how the Script Callbacks architecture works and then takes through a number of simple and practical examples of various complexity. Part 2 also discusses a number of issues to consider, like network bandwidth, debugging concepts and how to best utilize AJAX technology in existing applications. Part 1 Part 2 (works with ASP.NET 2.0 August CTP or later)

 A low-level Look at the ASP.NET Architecture
07/18/2005
Ever wonder how requests get into the ASP.NET pipeline from IIS? Find out about the low level plumbing of ASP.NET starting with a detailed discussion of how requests route from IIS, through the ASP.NET ISAPI extension into the ISAPRuntime and finally into the ASP.NET pipeline for HttpApplication processing with Http Modules and Handlers. This article takes a on the low-level aspects of ASP.NET for those that want to understand the inner workings of the framework.

 Building a better Application Configuration Settings Class
05/18/2005
.NET provides rudimentary support for storing and retrieving configuration settings out of .config files. But there are a number of important features missing. Find out how to build a better mousetrap by creating a class that provides strong typing, read/write capability and encryption for values stored in your configuration files.

Using Unicode in Visual FoxPro Web and Desktop Applications
01/13/2005
Visual FoxPro doesn’t have native Unicode support which means that you have to do some extra work and understand how the process works in order to work with it. In this article I’ll describe the issues in the context of supporting of multiple languages simultaneously, rather than through the view of code page translation which Visual FoxPro readily supports. I’ll start with an overview of the issues and how to work with Unicode in general, then show how to retrieve and update Unicode data using Visual FoxPro and SQL Server data. Finally I'll talk about how to get the Unicode content to display both in your Web and Desktop user interfaces.

 PayPal Integration into e-Commerce Solutions with ASP.NET
09/15/2004
PayPal provides one mechanism to process payments on the Internet. While it's not the first choice for payment processing for typical e-Commerce sites it does provide additional choices for those customers that don't feel comfortable paying by credit card over the Web. It's also an easy solution for first time Shop owners who might not want to invest in a full merchant account. This article describes PayPal integration from the perspective of a full featured e-Commerce application and focuses on integrating PayPal seamlessly into this environment. The article also provides a PayPal helper class (ASP.NET/C#) and a skeleton sample application that demonstrates the process and makes it easy to hook your own code into. Although the code provided is .NET, the concepts in this article apply to any Web development environment.

Calling .Net Web Services for Data Access from Visual FoxPro
07/27/2004
Find out how to create a .Net Web Service that serves up data in a variety of ways, then see how to consume this data with Visual FoxPro. .Net Web Services are easy to develop, debug and deploy, but consuming the data, especially with Visual FoxPro is not always as straight forward as you think. This article discusses how to pass complex data between .Net Web Services and Visual FoxPro and provides several tools to facilitate and standardize the process of building solid Web Service clients for your applications.

 Creating a generic Message Display Page for ASP.Net
05/19/2004
Creating messages in your Web application should be quick and easy and most importantly, consistent. They should look like they belong with the rest of the application even if - low and behold - an error occurs. How often have you created a new page to display some simple text or a notification message to your users? Wouldn't it be much nicer if you could reuse an existing template and simply passed in a few parameters to tell it to render an application specific message? Find out how to create a reusable Message Display class that reduces displaying messages generically in you application to a single line of code.

Building a Web XML Data Service with Visual FoxPro
03/05/2004
Have you ever wanted to build a remote data access mechanism into an application where you can talk to data that is coming over the Web rather than from a local or network data source? Wouldn’t it be cool if you simply pointed at a URL and could remotely execute some SQL code and return data to you on the client? In this article Rick shows how to build a generic Web Sql data service that can be used with any Visual FoxPro based Web backend and any Visual FoxPro client to provide remote data access to Visual FoxPro and ODBC datasources.

Using the Shell API and Internet Explorer Components with VFP
08/08/2003
Want to integrate external content into your Visual FoxPro desktop applications? Then look into the Shell APIs that allow using Windows components easily in your own applications. This article digs into using the ShellExecute API, the InternetExplorer.Application COM object and the Microsoft Web Browser ActiveX control for displaying Web and Windows content dynamically in your own applications. Article includes lots of short immediately useful samples and a detailed reference of how to use the HTML DOM object model from VFP.

 Implementing two-way Data Binding for ASP.Net
07/23/2003
ASP.Net simplifies many things but data binding simple controls like textboxes and checkboxes leaves a lot to be desired. Databinding is one-way only and you end up doing lots of repetitive work to publish your data. In this article I'll show you how simple databinding in .Net works and then show how to create custom controls that implement two-way binding to make short work of creating databound forms.

Web Farming with Network Load Balancing in Windows Server 2003
06/04/2003
Hit the limits of your hardware for a Web application? Find out how to scale out your application to run on multiple machines using the Windows Server Network Load Balancing Service. Windows Server 2003 brings a new front end to the Network Load Balancing Service that makes it easier and cheaper to implement a Web Farm of multiple redundant servers that can work in tandem to handle the meanest traffic you can throw at it.  

 Using the ASP.Net Runtime for Scripting in Desktop Applications
07/23/2003
Want to embed the power of ASP.Net into your application to provide rich and dynamic HTML displays in your applications? Add the ability to dynamically execute script code that is changeable after compilation? Don't want to give up debugging and the rich VS environment even in script code? Then take a look at hooking the ASP.Net runtime into your own applications. This article describes what it takes to integreate the ASP.Net runtime in desktop apps and provides an easy to use class that makes integration a matter of a few lines of code.

Creating a Statusbar control with VFP 8
04/20/2003
Irritated by the lack of Theme support and inconsistent behavior of the Statusbar control in MSCOMCTL.OCX? This article describes how to take advantage of a number of Visual FoxPro 8's new features to build a useful replacement to the MSCOMTL statusbar control. Besides showing off some new VFP features like collections, BINDEVENTS, the new Empty object and ADDPROPERTY, it provides a ready to use class that provides the most common functionality of the StatusBar with VFP code.

Using .Net Components via COM from Visual FoxPro
01/02/2003
This article describes how to use .Net components from unmanaged applications such as Visual FoxPro or Visual Basic. The topics describe the basic process of creating .Net components and exporting them to COM and then delves into additional topics of how to pass and access various special types passed over the COM boundaries. In addition, the article also points out a number of things to watch out for such as debugging, installation, dealing with type issues and more.

  Calling VFP COM components from .Net
01/02/2003
Find out how to call VFP COM components from .Net and specifically ASP.Net. The article introduces the basics of importing COM components into .Net and then referencing the component. It also touches on how to pass various types of data between VFP and .Net when import types don't work. You'll also learn how to debug COM components from ASP/ASP.Net as well as the performance implications of using VFP components in ASP.Net.

  .NET Interop for Visual FoxPro
09/23/2002
Find out how you can use VFP code in .NET and how to use .NET code in Visual FoxPro, in this comprehensive article that covers a number of different ways that you can integrate Visual FoxPro and .NET. The main three areas that are discussed are using the VFP OleDb provider, COM Interop both calling VFP components from .NET (and ASP.NET specifically) and calling .NET components from VFP and finally using Web Services for interop. The document points out some pitfalls and workarounds and tricks for working with data retrieved from .NET. This article is very detailed and hence fairly long at 45 printed pages.

 Dynamically executing code in .Net
09/8/2002
This article discusses in detail how to execute code dynamically  by creating code and compiling it at runtime. This is a useful feature for extending applications with user extensions or for adding support for advanced templating. The article discusses the process of compiling code and utilizing the new assembly. Also provided are classes that simplify the process and an ASP like script parser that can be plugged into any application with a few lines of code.

  Automatic Code Updates over the Web with Visual FoxPro
06/26/2002
Ever have that sinking feeling when you find a critical bug in an application that's gone out to a few hundred or more clients? How are you going to update these installations without a lot of fuss and tracking down customers with the bad news? This article describes how to build automatic version checks and code updates into your desktop applications. The detailed article discusses the process and provides a class that makes this job easy.

 Retrieve HTTP content with .NET
02/6/2002
This article discusses the .NET WebRequest and WebResponse classes used to retrieve HTTP content over the Web in detail. In the process a number of related .NET development issues are described including stream handling, string encoding, using delegates, implementing events and creating new threads to run HTTP requests simultaneously. The article also provides a preliminary implementation of a wwHttp wrapper class that abstracts many of the features of the .NET classes into a simpler front end.

Run Visual Foxpro Reports on the Web with Adobe Acrobat
02/6/2002
Ever wanted to run a Visual FoxPro report over the Web without having to recode it in HTML or forcing it through some hokey HTML converter? Find out how you can use Adobe Acrobat's PDFWriter software to generate reports on the fly and display them on the Web. Looking like the real thing! This article discusses how it works and provides a class simplify the process. This article and code has been updated for Acrobat 5.0, AmyUni and ActivePDF drivers.

 Passing data over .NET Web Services
12/7/2001
This article is a continuation of the introductory Web Services article and expands with specific examples of passing ADO.NET DataSet objects over Web Services to be consumed in a Windows Form application. The article discusses the DataSet object in some detail and delves into how data is consumed and displayed in the Windows Form environment along with a number of related issues such as security.

Using the Office Web Components to create dynamic graphs
for GUI and Web applications

11/16/2001
Graphs can add significant impact to applications and you can use the Office Web Components to generate graphs easily. This article shows how the OWC work and provides a Visual FoxPro class that wraps the functionality to generate charts directly from Fox cursors and arrays.

 Creating Web Services with .NET and Visual Studio.NET
6/8/2001
Find out how Web Services work and are created in the .Net framework. This article introduces the concepts of Web Services, the technology and then demonstrates how Web Services are created and consumed via several examples. Source code available for download.

Running long Web Requests with Asynchronous Request Processing
4/9/2001
Running long requests on a Web server can be problematic since long requests can tie up valuable Web server resources and not give the user feedback on the operation running. In this article Rick shows a message based approach to offload long requests to application servers while providing the browser with information on progress.

Configuring IIS via code with the IISAdmin Objects
4/6/2001
As you build Web applications it's becoming ever more important to configure the server under program control for install routines for distribution and replication of functionality. This article shows how to perform common tasks like creating virtuals and scriptmaps and a few other tips that you'll need to create your own Web install wizards.

  Building a SOAP Web Service with West Wind Web Connection
10/26/2000
Find out how to build a Web Service that exposes Stock quote information from a Web Serivce, then learn how to consume and use that data in a variety of different environments. This article describes the concepts of SOAP and Web Services and shows a live example you run online and play with.

XML Data Services in distributed applications
10/24/2000
Find out about generic XML Data Services that can provide data directly to your client application. This article discusses the SQL 2000 XML features as well as a VFP based XML data server implementation that lets you serve VFP and ODBC data from a VFP backend application.

Building distributed applications with XML messaging
10/20/2000
Have you been thinking about using XML in your applications, but aren't quite sure why and how to use it intelligently? This article discusses why XML is an important technology especially in the context of distributed applications that run over the Internet. The article starts with an overview and then jumps into practical examples that demonstrate how you can easily convert VFP data and objects into XML and then move this data over the Web via HTTP. Several examples show how you can share and access this XML based data with just a few lines of code.

Load Balancing Web Application with Windows 2000 Advanced Server
10/18//2000
Find out how to build scalable Web applications that span multiple servers in a Web Server Farm environment. Windows 2000 Advanced Server ships with the Network Load Balancing service that can handle large amounts of traffic by spreading the load across multiple redundant machines. Find out how to use this feature and what it means to your Web applications.

Using SOAP to call Remote Objects
8/09/2000
Check out how to use Microsoft's Simple Object Access Protocol (SOAP) toolkit to call remote functions and component methods over the Web. This paper describes how to use the toolkit and how to create and call components from Visual FoxPro as well as examples on how to create custom SOAP clients.

Using VFP COM components with Active Server Pages  
10/24/99
Active Server Pages and Visual FoxPro both use objects to expose functionality for your application development. This paper describes the basics and more advanced topics on creating, debugging, installing, optimizing and maintaining COM VFP components in Active Server applications. It also shows how to create more flexible Active Server applications that take advantage of ASP's built in objects and ADO inside of Visual FoxPro. You'll also find out how create objects in Visual FoxPro and use them inside of ASP pages. There are also a few hints on debugging COM objects built in VFP.

Stress Testing Web Applications with Microsoft's Web Application Stress Tool
2/24/2000
As Web development is becoming more prevalent, the need to test Web applications in order to determine the breaking points on a given set of hardware becomes very important. Microsoft's Web Application Stress Tool provides an easy way to test Web applications in a realistic environment that simulates large numbers of users. This article describes the test tool as well as discussing stress testing issues that you need to think about when using it.

Accepting Credit Cards over the Internet 03/29/00
As you build e-commerce applications, taking payment over the Internet is one of the most frequently asked about issues that come up. This article discusses how Internet payment gateways work and reviews a couple of providers I've personally used.

Using Microsoft Transaction Server with VFP11/12/99
Microsoft Transaction Server is a big part of Microsoft's Enterprise strategy, but the functionality and features of this powerful system component is often misunderstood and misjudged. This article discusses what MTS is and how it works and most importantly how it affects your VFP applications in various scenarios.

Building Distributed Applications over HTTP11/12/99
Tired of hearing about having to rewrite your applications with an HTML interface? Tired of the limitations of an HTML based user interface? Here's some information on how to take advantage of Visual FoxPro on both the client and the server ends of the Web for building rich distributed applications that can take advantage of the Web's architecture without HTML. Discusses HTTP data transfers, WinInet and specific examples of how you can use this technology built into the FREE wwIPStuff class available from this site.

Internet Enabling Visual FoxPro Applications4/22/99
Find out how to enhance your existing Visual FoxPro applications with Internet functionality without having to do a full Web conversion.  Learn how using a few simple techniques that don't require much code can spruce up exsiting applications. This document describes how to integrate Hyperlinks, Email, FTP and HTTP access, a few ways to access data on the server, use DCOM to access COM objects on the server and use RDS to connect to data over an HTTP connection.

Building Large Scale Web Applications with Visual FoxPro6/3/98
This document contains my session notes from Visual FoxPro DevCon '98 and discusses some of the issues involved in building a high volume Web site using a live site as an example. The Surplus Direct site is discussed in detail with descriptions of some of the issues of integrating FoxPro development with the HTML design, dealing with server management and site analysis, scaling the site for traffic peaks and ever increasing load and how to deal with security issues. This document also talks about some of the new VFP 6.0 scalability features and how they affect server operation.

Calling Visual FoxPro COM objects from Visual C++10/18/98
Find out several different way of how you can access Visual FoxPro COM objects from Visual C++. This white paper describes how to use native COM IDispatch calls, using the ATL CComDispatchDriver class and using VC++ smart pointer type library imports for accessing your servers. Also includes some discussion of how VFP COM objects are implemented and some utility code useful for accessing COM objects.

Web Connection and Web Programming Knowledge Base
10/03/98
This document answers common questions related to building Web applications. In addition to information related to Web Connection this set of pages also includes tips and tricks useful for Web Development of any kind.

Using Microsoft's FoxISAPI 6/3/98
This document contains my session notes from the Visual FoxPro DevCon '98. Discusses the basic mechanics of FoxISAPI and introduces by discussion a framework that simplifies processing requests and generating output quickly.

Using Visual FoxPro COM components with IIS 4.0  12/27/97
Things have changed for using COM/Automation servers with IIS in the latest version. This document overviews what it takes to configure, debug and run your VFP COM objects under IIS 4.0.

Accessing Active Directory and the IIS Admin Objects with VFP   12/27/97
Active Directory is a new Microsoft Operating System service that allows a common access interface to NT system components for resource and hardware mapping. Active Directory will be prominent feature of NT 5.0, but it's implemented today for administration of IIS 4.0 and Transaction Server. This article discusses how you can access ActiveDirectory from VFP and a component that helps make the job easier.

Things have changed for using COM/Automation servers with IIS in the latest version. This document

Database Connectivity on the Internet with Visual FoxPro
9/14/97
Want to find out more about connecting databases in general and Visual FoxPro specifically to the Web? This HTML document is based on my DevCon '96 session notes and provides an overview on how to tie backend applications to Web pages. This document also goes into some detail on how FoxISAPI, ActiveX Server and Web Connection work.Powerpoint slides are also available.

Visual Studio Articles

Calling Visual FoxPro COM objects from Visual C++08/18/98
Find out several different way of how you can access COM objects through IDispatch interfaces from Visual C++. This document describes how to use native COM IDispatch calls, using the ATL CComDispatchDriver class and using VC++ smart pointer type library imports for accessing your servers.

Debugging IIS5 ISAPI applications in Visual Studio
This document describes setting up Visual Studio and C++ to allow debugging of ISAPI extensions and filters and COM components.

Debugging IIS4 ISAPI applications in Visual Studio
This document describes setting up Visual Studio and C++ to allow debugging of ISAPI extensions and filters and COM components.

 


Rss Feed Article Feed

Rss Feed Rick Strahl's Web Log
Rss Feed Web Connection Web Log

Industry Commentary:

ASP.NET gets no Respect
Levels of Enthusiasm
jQuery puts the fun back into Client Scripting
REST-Based Ajax Services with WCF
What's ailing ASP.NET Web Forms
ASP.NET Orcas: Quiet Revolution
The JavaScript Dilemma
Beyond HTML: Rich Internet Applications
MS AJAX 1.0 is here
A new Foundation: Looking at WCF
Are you ready for IIS 7?
Atlas for ASP.NET grows up
Web Application Projects are here
ASP.NET 2.0: You win some, you lose some
Web Standards - Standards or Stasis?
A first look at IIS 7.0
Atlas to carry the Web - take 1  
Past the AJAX Hype  
When's a Beta not a Beta?
Are Web Services getting to complex
Why Html Help Builder is not a .NET App
The two faces of .Net  
The diminishing importance of HTML
The slippery slope of Web Services
The rising complexity of
     Software Development
 
The Web at your Service
 
                               
 Popular Web Log Entries:

Implementing a jQuery Statusbar
Levels of Developer Enthusiasm
Implementing jQuery-Calendar in ASP.NET
A GZip JavaScript Compression Module
Hosting the .NET Runtime in Visual FoxPro
Dealing with ClientScript for MS AJAX
Expanding Urls with RegEx in .NET
Common Bitmap rendering issues in ASP.NET
Creating a PreserveProperty Control
Capturing Output from ASP.NET Pages
Making sense of ASP.NET Paths
Embedding Word into Desktop Forms
Automating .NET WinForms through COM
Detecting and setting Locale in ASP.NET
Creating high quality Thumbnails in ASP.NET
Understanding ASP.NET Impersonation
Programmatic Impersonation in ASP.NET
Page Inheritance in ASP.NET 2.0

 


If you find the content of this these articles and White Papers useful, please consider making a small donation to show your support and keep the content coming. We provide all the content for free, but considerable time and effort is involved in creating and sharing the knowledge provided in these documents.

  Html Help Builder                   Home | White Papers | Message Board | Search | Products | Purchase | News |