T
TarekF
I have developed a .NET Web Service with Authentication and Cashing to
Improve Performance.
The web service will cash the Pricipal Object after Login, and it will
restore it in Global.asax on this event:
pplication_AcquireRequestState
Also, the web service will cash other data during the browser session.
All works fine when calling the web service from the browser (IE 8).
But, cashing does not work when consuming the web service from MS Access
(VBA) using this method:
http://msdn.microsoft.com/en-us/library/aa140266(office.10).aspx#odc_wsaccess_demo
When I invoke the web service from MS Access, all session variables will be
initialized and it takes long time to complete. With every call to the Web
Service from MS Access, it takes about 15 seconds, which is not acceptable.
I did some search on this matter, and realized that the cleint must support
cookies in order to enable cashing (using Session Variables) between the
client and the server.
I could not find out if MS Office XP Web Service Toolkit will support
cashing or use of cookies.
So, to me looks like the only way to do that is the manual way.
I will have to create another web service called "Initialize()" which will
generate all the data to be cashed, and returned back to the client as Base64
encoded string (using serialization), and the client must pass the string
with every call to the web service.
What do you think ?
Appreciate your feedback and help on this matter.
Tarek.
Improve Performance.
The web service will cash the Pricipal Object after Login, and it will
restore it in Global.asax on this event:
pplication_AcquireRequestState
Also, the web service will cash other data during the browser session.
All works fine when calling the web service from the browser (IE 8).
But, cashing does not work when consuming the web service from MS Access
(VBA) using this method:
http://msdn.microsoft.com/en-us/library/aa140266(office.10).aspx#odc_wsaccess_demo
When I invoke the web service from MS Access, all session variables will be
initialized and it takes long time to complete. With every call to the Web
Service from MS Access, it takes about 15 seconds, which is not acceptable.
I did some search on this matter, and realized that the cleint must support
cookies in order to enable cashing (using Session Variables) between the
client and the server.
I could not find out if MS Office XP Web Service Toolkit will support
cashing or use of cookies.
So, to me looks like the only way to do that is the manual way.
I will have to create another web service called "Initialize()" which will
generate all the data to be cashed, and returned back to the client as Base64
encoded string (using serialization), and the client must pass the string
with every call to the web service.
What do you think ?
Appreciate your feedback and help on this matter.
Tarek.