Reputation: 2246
My website currently working in ASP.NET 1.1
Old Process
In our database we have huge amount of data stored for a decoding purpose. We have to update this huge set of data table each week(Data is supplied from a vendor).
In our website (in asp.net 1.1) we query our database to decode information.
New process
Now instead of storing data in our database and query them, we want to replace this through the web service, AS now the vendor is supplying us a DLL, which will give us the decoded information.
Information on the DLL provided by the vendor
The DLL provided, can only be added in 4.0 sites. SO that also impleies that i can not directly add the dll to my 1.1 site. This DLL is exposing certain methods, we simply have to add the DLL refernce in our web service and call the method and fetch the needed information.
Thus we will not have to store those information in our database.
So which type of web service I should go for (asmx OR WCF) that will use the DLLs provided by vendor to fetch the decoded information ??
Flexibility i am looking for in the web service are:
NOTE : Moreover we have a plan to migrate our website from asp.net 1.1 to 4.0 version in future.So it should be that much supportive for future upgrade.
Upvotes: 7
Views: 2106
Reputation: 2054
If I understand you correctly, you intend to create a Web Service that is going to reference the DLL provided by the vendor and return the decoded data to your ASP.NET 1.1 website.
I would seriously suggest you to go for a WCF web service as it targets the .NET 4.0 Framework. Believe me it is going to payoff in the long run. Moreover, .asmx web services are considered a legacy technology according to the MSDN (feel free to consult the MSDN). Go ahead with WCF, do not start with a disadvantage!
Upvotes: 4
Reputation: 1975
Since WCF communicates over the SOAP protocol, I would suggest your best option is to create a separate .Net 4.0 Web Service project (in the same solution if you wish) which can then be referenced by your .Net 1.1 web site.
You may also "double decorate" your new WCF methods to expose them as an ASMX web service for backwards compatability with the website and to reduce down-time with phased migration, see this post. Or, with a little more work and if you prefer to switch the service calls in the client straight away, Microsoft have a guide for exposing WCF to an ASMX client. The easiest method I can see is to simply copy-paste your existing asmx service code into a .Net4 project and replace the methods to utilise your new dll where appropriate, see this post.
When migration is finished and the .Net 1.1 site is refactored to compile and utilise .Net 4's new features, the service could be moved into the main website project again (if you wish) though personally I'd prefer to keep them separate.
Migrating to WCF and .Net 4 should come with a host of benefits, Microsoft has added allot of simple ways to improve your program, WCF is allot more flexible and may be consumed by a much wider set of clients (see here) and I find it's becomming increasingly difficult to find support on the legacy technologies.
HTH
Upvotes: 0
Reputation: 66
WCf is more flexible than web service old fashioned used soap it is previously ajax, now wcf is more service oriented architecture.so donto use webservice any more
Upvotes: 0
Reputation: 6524
If you want to stay with asp.net 1.1 for now, an asmx service is the only choice with you. It is further advisable to use the asmx service - which in turn uses ajax and compliant with different platforms (in fact, it is a soap service) and you get an excellent interoperability with it.
Further, I am a bit confused here. If you are having a dll provided by the service provider, you might not have a choice at all. It would be the dll which will decide which service to use to communicate with providers data source. Is your provider giving you a choice ?
Upvotes: 0