|
 |
aspdotnet_website_programming thread: Not an Expert Question: Web service proxy class not updated
Message #1 by "Trey Carroll" <treycarroll@y...> on Wed, 19 Mar 2003 22:35:56
|
|
I am new to ASP.NET and working straight out of an intro-level book so
nobody ought to be intimidated by the level of this questiion. I add
this since this question has sat un-replied to for three weeks now on
another board.
I have created a simple data access webservice. It allows me to query a
table on a server on my host's site.
It was working perfectly until I decided to tweak it just a little.
Instead of hard-coding in the table name, I changed it so that the table
name was sent in as a parameter. Thus, I can return a recordset from any
Northwind table- not just hardcoded one. This should have been trivial
¿No?
Here's the trouble: The webservice "server" is working perfectly-
reflects the changes and allows me to test it via the web by appending
the ?WSDL querystring to the URL. The problem is on the "Client". It
still thinks that it should only be receiving the old One Parameter call.
I'm sure that VS.NET will do some of this automatically, but I'm working
from the dos prompt with the wsdl utility and the vbc compiler. The wsdl
utility reaches across the net when I point it to the webservice my
host's site. It uses the wsdl info to create a proxy class on my local
box which mimics the functionality of the webservice, accepts the same #
of parameters in the methods, etc. Pretty nifty eh?
OK, so here's the rub: I used wsdl to create a .vb file that contained
the proxy class. I then compiled it with the vbc compiler and put it
into the /bin directory under /wwwroot. It worked great. I could call
it from code like it was a local object's method and it handed me my
recordset- no problem. *BUT* now that I have changed the webservice on
the my host's site, it is still thinking my method only accepts one
parameter. So... is it caching the old assembly that I created
somewhere? I have deleted the old .dll from the bin directory and rerun
the wsdl and vbc utilities, produced the new .dll and stuck it into
the /bin dir- all to no avail. It just won't 'believe me' about the new
version of the method.
IN SUMMARY: I need to know how to flush the old assembly so that the new
one can be loaded. Help on a directory or a utility to use to unistall
it would be appreciated.
Thanks,
Trey
Message #2 by "Rex" <aspdotnet@c...> on Wed, 19 Mar 2003 14:43:02 -0800
|
|
The only way I've solved this myself is to change the name of the
assembly.
The runtime will think it's a new one and not use the old cached version
-----Original Message-----
From: Trey Carroll [mailto:treycarroll@y...]
Sent: Wednesday, March 19, 2003 10:36 PM
To: Website Programming with ASP.NET
Subject: [aspdotnet_website_programming] Not an Expert Question: Web
service proxy class not updated
I am new to ASP.NET and working straight out of an intro-level book so
nobody ought to be intimidated by the level of this questiion. I add
this since this question has sat un-replied to for three weeks now on
another board.
I have created a simple data access webservice. It allows me to query a
table on a server on my host's site.
It was working perfectly until I decided to tweak it just a little.
Instead of hard-coding in the table name, I changed it so that the table
name was sent in as a parameter. Thus, I can return a recordset from
any
Northwind table- not just hardcoded one. This should have been trivial
=BFNo?
Here's the trouble: The webservice "server" is working perfectly-
reflects the changes and allows me to test it via the web by appending
the ?WSDL querystring to the URL. The problem is on the "Client". It
still thinks that it should only be receiving the old One Parameter
call.
I'm sure that VS.NET will do some of this automatically, but I'm working
from the dos prompt with the wsdl utility and the vbc compiler. The
wsdl
utility reaches across the net when I point it to the webservice my
host's site. It uses the wsdl info to create a proxy class on my local
box which mimics the functionality of the webservice, accepts the same #
of parameters in the methods, etc. Pretty nifty eh?
OK, so here's the rub: I used wsdl to create a .vb file that contained
the proxy class. I then compiled it with the vbc compiler and put it
into the /bin directory under /wwwroot. It worked great. I could call
it from code like it was a local object's method and it handed me my
recordset- no problem. *BUT* now that I have changed the webservice on
the my host's site, it is still thinking my method only accepts one
parameter. So... is it caching the old assembly that I created
somewhere? I have deleted the old .dll from the bin directory and rerun
the wsdl and vbc utilities, produced the new .dll and stuck it into
the /bin dir- all to no avail. It just won't 'believe me' about the new
version of the method.
IN SUMMARY: I need to know how to flush the old assembly so that the
new
one can be loaded. Help on a directory or a utility to use to unistall
it would be appreciated.
Thanks,
Trey
---
Professional Design Patterns in VB.NET:
Building Adaptable Applications
Want to know how design patterns bring reusable
design and adaptabilty to your applications? How
to recognize the need for a design pattern
solution? How to select, design, and implement
the right patterns? How parts of the .NET Framework
(like the .NET Data Providers and .NET Remoting)
take advantage of design patterns? This book
presents a practical approach to using design
patterns in VB.NET, by focusing on the relevance
of design patterns in the different tiers of a
distributed n-tier architecture.
http://www.wrox.com/books/1861006985.htm
|
|
 |