James
James

Reputation: 2246

Should i go for WCF or ASMX web service

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

Answers (4)

Sayan
Sayan

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

Dead.Rabit
Dead.Rabit

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

Reddy
Reddy

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

Murtuza Kabul
Murtuza Kabul

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

Related Questions