Maintaining Session State between Access Consumer and .NET Web Ser

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.
 
T

TarekAHF

Looks like the only wat to implement cashing and maintain session state
between the client (MS Access) and the server, is to develop COM Interop
using .NET Class Wrapper over the web services.

I did a quick test to call the web service from MS Access using VBA via a
..NET COM Interop, and it worked (without cashing yet). Cashing should work
since it is fully supported by .NET Web Service Consumer class.

Any more ideas will be appreciated.

Tarek.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top