We've worked with several AVR Classic customers lately helping them resolve challenges with their legacy Classic apps. During this work, we've come to the opinion that integrating AVR for .NET with AVR Classic is not only a great way to solve AVR Classic-imposed challenges and limitations, but it's also a way to start replacing parts of your AVR Classic applications with AVR for .NET. Many AVR Classic applications are quite large and complex and rewriting them from the ground up isn't doable--at least quickly. But over time, incrementally replacing parts of them with AVR for .NET may be the key to clawing your way out of COM prison. Be sure to understand that this article isn't about launching .NET EXEs with AVR's OSExec operation. While you can achieve a modest level of interoperability with by launching an EXE with OSExec, you're still dealing with two distinct processes that don't really interoperate with each other. With this article's techniques, you'll have a single (started by AVR Classic), that uses the .NET binary just as it would an ActiveX control. You'll be able to call .NET methods, get results back from .NET functions, and read and write .NET properties. This article provides the keys for integrating AVR for .NET with AVR Classic.
When cutting and pasting data into Web pages, it's easy to paste smart quotes and other characters that won't later render well on IBM i green-screens. This article shows how to "cleanse" your HTML inputs before submitting them to the server.
The .NET command line is probably not used very frequently by AVR for .NET coders. But for those needing to achieve AVR for .NET to AVR Classic interoperability, it's a necessity. This article shows how to configure Visual Studio for easy .NET command line access.
This document introduces several of the unique and powerful features of ASNA Visual RPG for .NET (AVR). Whether you're a traditional RPG programmer with little or no experience with other languages, or a veteran VB/C# programmer, this document provides an overview of several of AVR's language concepts and syntactical details.
This page provides the current list of browsers on which web-based ASNA products are specifically tested.
This article discusses how to use the DDSList control to provide a dropdown element for a Mobile RPG record format.
The ListView is a worthy alternative to the GridView control. With the ListView control, you are 100% in charge of the markup produced. This makes the ListView much better suited to pages where you need complete control over the markup, such as when you're using a CSS framwork like BootStrap. However, the ListView's model for determining row clicks is quite different from the GridView. This article shows how to determine what row and column got clicked with the ListView.
A very important consideration for AVR for .NET ASP.NET websites is managing IBM i jobs. This article discusses how to ensure that an AVR for .NET website doesn't create more IBM i jobs than necessary.
Despite your best efforts, your ASNA Visual RPG web application may be launching way more IBM i jobs than necessary. This article offers a few tips on finding the cause of orphaned IBM i jobs associated with your ASNA Visual RPG web app.
DataGate's connection pooling is a way to improve website performance by reusing existing server-side jobs for ASNA Visual RPG for .NET ASP.NET Web apps.
By default, DataGate for IBM i will be configured to run in the QINTER subsystem. This document describes how to change the subsystem.
ASP.NET's WebForms acquired a semantic, or "friendly", routing feature several years ago. Routing is built into .NET and works great with ASNA Visual RPG.