T
Theodoros.Savvides
Hi All,
We are developing an application and we have a problem for which I cannot
find any information anywhere.
The application consists of a windows user control and an ASP.NET
application that has a Web Form loading this control using the object tag.
The HTML code looks like this:
<OBJECT id="LoginControl" style="WIDTH: 673px; HEIGHT: 388px"
classid="../WinControls/CommonWinControls.dll#CommonWinControls.UCBatchForm"
name="LoginControl" VIEWASTEXT>
<PARAM NAME="HideAcq" VALUE="<%=HideAcq%>">
<PARAM NAME="AcqFormType" VALUE="<%=AcqFormType%>">
<PARAM NAME="AllowAccess" VALUE="<%=AllowAccess%>">
<PARAM NAME="strUser" VALUE="<%=strUser%>">
<PARAM NAME="SelectedConnection"
VALUE="<%=SelectedConnection%>">
<PARAM NAME="CurCulture" VALUE="<%=CurCulture%>">
<PARAM NAME="DBDate" VALUE="<%=DBDate%>">
<PARAM NAME="SupervisorGroup"
VALUE="<%=strSuperVisorGroup%>">
</OBJECT>
Assumption for this is to have .NET Framework installed on the client
machine and trust the resource coming from the web server. We would expect
the dll to be downloaded to the client machine the first time the machine
requests the aspx page that contains this control. Instead of that, the
problem that we are facing is that the control seems to be downloaded
every time you request the page. It looks like the machine 'does not know'
that the control has been used in the past and it will force to download
again.
We have recreated the assemblies that are being downloaded as strong named
assemblies. The steps we followed are as below:
1. sn -k "testkey.snk"
2. Included in the AssemblyInfo.vb the line that points to the file:
<Assembly: AssemblyKeyFileAttribute("testkey.snk")>
3. Rebuilded the assemblies and created the dll. Copied the dll in the
directory from where we reference it using the object tag in the
webapplication.
4. Tried again.
I don't see any difference. I am using the FUSLOGVW.EXE and the GACUTIL
commands to see what's going on and the results are:
GACUTIL1.txt is the GACYTIL /ldl output after the first time the app is
run. FUSLOGVW (FUSLOGVW1.txt) is showing that the cache lookup in
unsuccessful. The weird thing is that when I open a new Internet Explorer
window requesting the application again (same machine and the first
instance is still running) when I run again the gacutil /ldl command it
will show me that the files are downloaded again so the total number of
files is now 4. Using the same logic if the application is run again the
number of files will go on 6 then 8, 10... and so on.
I even tried to add the dll in the GAC, using the gacutil /i
Commonwincontrols.dll. This adds the dll successfully and I can see this
be running the gacutil /lr. But the behavior stays the same.
Any ideas?
Thanks in advance
We are developing an application and we have a problem for which I cannot
find any information anywhere.
The application consists of a windows user control and an ASP.NET
application that has a Web Form loading this control using the object tag.
The HTML code looks like this:
<OBJECT id="LoginControl" style="WIDTH: 673px; HEIGHT: 388px"
classid="../WinControls/CommonWinControls.dll#CommonWinControls.UCBatchForm"
name="LoginControl" VIEWASTEXT>
<PARAM NAME="HideAcq" VALUE="<%=HideAcq%>">
<PARAM NAME="AcqFormType" VALUE="<%=AcqFormType%>">
<PARAM NAME="AllowAccess" VALUE="<%=AllowAccess%>">
<PARAM NAME="strUser" VALUE="<%=strUser%>">
<PARAM NAME="SelectedConnection"
VALUE="<%=SelectedConnection%>">
<PARAM NAME="CurCulture" VALUE="<%=CurCulture%>">
<PARAM NAME="DBDate" VALUE="<%=DBDate%>">
<PARAM NAME="SupervisorGroup"
VALUE="<%=strSuperVisorGroup%>">
</OBJECT>
Assumption for this is to have .NET Framework installed on the client
machine and trust the resource coming from the web server. We would expect
the dll to be downloaded to the client machine the first time the machine
requests the aspx page that contains this control. Instead of that, the
problem that we are facing is that the control seems to be downloaded
every time you request the page. It looks like the machine 'does not know'
that the control has been used in the past and it will force to download
again.
We have recreated the assemblies that are being downloaded as strong named
assemblies. The steps we followed are as below:
1. sn -k "testkey.snk"
2. Included in the AssemblyInfo.vb the line that points to the file:
<Assembly: AssemblyKeyFileAttribute("testkey.snk")>
3. Rebuilded the assemblies and created the dll. Copied the dll in the
directory from where we reference it using the object tag in the
webapplication.
4. Tried again.
I don't see any difference. I am using the FUSLOGVW.EXE and the GACUTIL
commands to see what's going on and the results are:
GACUTIL1.txt is the GACYTIL /ldl output after the first time the app is
run. FUSLOGVW (FUSLOGVW1.txt) is showing that the cache lookup in
unsuccessful. The weird thing is that when I open a new Internet Explorer
window requesting the application again (same machine and the first
instance is still running) when I run again the gacutil /ldl command it
will show me that the files are downloaded again so the total number of
files is now 4. Using the same logic if the application is run again the
number of files will go on 6 then 8, 10... and so on.
I even tried to add the dll in the GAC, using the gacutil /i
Commonwincontrols.dll. This adds the dll successfully and I can see this
be running the gacutil /lr. But the behavior stays the same.
Any ideas?
Thanks in advance