Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Major mixup in two ASP.NET transactions
Message
From
02/10/2006 14:18:47
 
 
General information
Forum:
ASP.NET
Category:
Other
Environment versions
Environment:
VB 8.0
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01150471
Message ID:
01158644
Views:
61
I have located the source of the problem. But, I just can't explain it.

My Framework.dll is about 400k. If I use the same code in it without using the framework at all, I don't have the situation. But, as soon as I use the code from the framework, there comes the mess.

For example, this works:
<%@ Page Language="VB" AutoEventWireup="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Public oProcess As Framework.Framework.LXProcess = New Framework.Framework.LXProcess()

    Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        oProcess.oApp = New Framework.Framework.App()
        oProcess.oApp.nApplicationMode = 3
        oProcess.oApp.oServer = Server
        oProcess.oApp.Initialize()
        oProcess.oRequest = Request
        oProcess.oResponse = Response
        oProcess.oServer = Server
        oProcess.oPage = Me
        oProcess.BeginRequest()
    End Sub
    
    Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim lcSQL As String = "SELECT Video.Numero FROM Video " + _
         "INNER JOIN Masters ON Video.NoMaster=Masters.Numero " + _
         "INNER JOIN VideoType ON Video.NoVideoT=VideoType.Numero " + _
         "INNER JOIN VideoLanguage ON Video.NoVideoL=VideoLanguage.Numero " + _
         "INNER JOIN VideoClassification ON Video.NoClass=VideoClassification.Numero " + _
         "INNER JOIN VideoSize ON Video.NoVideoSiz=VideoSize.Numero " + _
         "WHERE Video.Active2 AND Video.Numero=21 ORDER BY Video.VideoT"
        Dim oDataSet As System.Data.DataSet = New System.Data.DataSet
        Dim oDataAdapter As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter(lcSQL, _
         "Provider=VFPOLEDB.1;Data Source=""d:\iis\Direct Martial Arts\App_Data"";Collating Sequence=general")
        oDataAdapter.Fill(oDataSet)
        oDataAdapter.Dispose()
    End Sub

    Sub Page_UnLoad(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Unload
        oProcess.EndRequest()
        oProcess.oResponse.Write(oProcess.GetJavascriptMessage)
    End Sub
</script>

<html> 
<body> 
<asp:Label ID="Header2" runat="server" Text=""></asp:Label>
<asp:Label ID="Html" runat="server" Text=""></asp:Label>
<asp:Label ID="Footer" runat="server" Text=""></asp:Label>
</body>
</html>
But, if I add the inheritance at the form declaration level and adjust the code as follow:
<%@ Page Language="VB" AutoEventWireup="false" Inherits="Framework.Framework.WebForm" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim lcSQL As String = "SELECT Video.Numero FROM Video " + _
         "INNER JOIN Masters ON Video.NoMaster=Masters.Numero " + _
         "INNER JOIN VideoType ON Video.NoVideoT=VideoType.Numero " + _
         "INNER JOIN VideoLanguage ON Video.NoVideoL=VideoLanguage.Numero " + _
         "INNER JOIN VideoClassification ON Video.NoClass=VideoClassification.Numero " + _
         "INNER JOIN VideoSize ON Video.NoVideoSiz=VideoSize.Numero " + _
         "WHERE Video.Active2 AND Video.Numero=21 ORDER BY Video.VideoT"
        Dim oDataSet As System.Data.DataSet = New System.Data.DataSet
        Dim oDataAdapter As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter(lcSQL, _
         "Provider=VFPOLEDB.1;Data Source=""d:\iis\Direct Martial Arts\App_Data"";Collating Sequence=general")
        oDataAdapter.Fill(oDataSet)
        oDataAdapter.Dispose()
    End Sub
</script>

<html> 
<body> 
<asp:Label ID="Header2" runat="server" Text=""></asp:Label>
<asp:Label ID="Html" runat="server" Text=""></asp:Label>
<asp:Label ID="Footer" runat="server" Text=""></asp:Label>
</body>
</html>
I will have the same problem.

So, this clearly shows that there is a severe bug with the OleDb provider when being used from a DLL. It is either that the DLL is too big and that may cause a lot of problem on the IIS server or that there is a setting in the DLL that I have to adjust if I want to use it without any problem on a Web site.

Are there anyone else using a DLL on a Web site? If yes, what are its size? I would also be interested in knowing specific considerations in regards to parameters we would have to watch for when building the DLL.
Michel Fournier
Level Extreme Inc.
Designer, architect, owner of the Level Extreme Platform
Subscribe to the site at https://www.levelextreme.com/Home/DataEntry?Activator=55&NoStore=303
Subscription benefits https://www.levelextreme.com/Home/ViewPage?Activator=7&ID=52
Previous
Reply
Map
View

Click here to load this message in the networking platform