views:

85

answers:

3

Windows server 2000 does not support .NEt 3.5, so its not supporting WCF? We, lazy, did not consider this before creating WCF application (Server, client, listener etc). My Client Console application is compiled in 3.5 just to consume WCF. I can recompile Client app to framework 2.0. to able to run it on Windows Server 2000. But how i am gonna consume WCF? Any suggestion? Any word around?

Or do i really have to go back to Web services (by dropping WCF app)?

A: 

IF the server providing the service isn't a Windows 2000, that you CAN consume a WCF in Windows 200 as it were a WebService.

Just configure the proper bindings and you're ready to go.


Edited to add

Take a look at MSDN.

Paulo Santos
Server is not 2000. IF i can consume WCF on Windows Server 2000, would you please give me just more clue about configuring the proper bindings. Do you really think it will work. Because moment I compile with Target Framework 2.0, app complains about ServiceModel (which is actually under Framework 3.5).
Novice
A: 

I'm not aware of any way to run WCF without .NET 3.0. However, WSE 3.0 runs on the .NET 2.0 Framework and can be made to be wire-level compatible with WCF.

This page should help get you started. The main thing you have to do is use a customBinding and change the addressing mode in the binding configuration.

Aaronaught
-1: Unless he's using WS-Security, there's no reason to bring WSE into the picture.
John Saunders
@John Saunders: How do you know he's not using WS-Security? WCF has it turned on by default! That did not warrant a -1 at all.
Aaronaught
@Aaronnaught: because he didn't say, and because even if he is, the solution is to add a new binding, not to resort to obsolete software.
John Saunders
@John Saunders: Add **what** new binding? There is no other way to create a secure connection to a WCF service pre-3.0.
Aaronaught
Furthermore, the machine is Windows 2000 which is **already** an "obsolete technology." Should everyone upgrade perfectly functional servers and systems simply because they're old?
Aaronaught
@Aaronaught: he's said nothing so far about security. In fact, he has a "REST" tag on the question, so WS-Security (or any security beyond SSL) may be out of the question. If he said he needed security, then I'd agree with you.
John Saunders
@Aaronaught: The fact he's running Windows Server 2000 is no excuse to add _another_ obsolete technology he's going to have to change in the near future. He'd have to go _learn_ WSE, and why learn an obsolete technology?
John Saunders
@John Saunders: Because that obsolete technology *works*. And if he hasn't changed the default bindings then he **is** already using WS-Security; that is the **default**. .NET 2.0 itself is "obsolete" but do you have any idea how many machines out there still do not have 3.0/3.5 installed? One cannot simply bury one's head in the sand and expect everybody else to upgrade for them.
Aaronaught
He also tagged it ASP.Net! Who knows what he is using. Maybe you guys could hold off killing each other until we find out :-)
Darrel Miller
@Aaronaught: WSE is effectively unsupported. To tell someone to _start_ using it is irresponsible, unless there's no other choice. Also, I'm aware that WS-Security is the default, but because it's the default, it may not have been a design decision to use it. I'm assuming that adding a `basicHttpBinding` binding will not break their design.
John Saunders
@John Saunders: Sorry, but I have to flatly disagree that it's "irresponsible" to use a fully-functional tool (or tell someone else to use it) simply because it's no longer in active development. You made an assumption, I made an assumption; it's common courtesy to leave a comment and give others a chance to respond before getting downvote-happy because you disagree on a philosophical point. There was absolutely nothing misleading or incorrect about this answer; if you'd been halfway polite about it then I might have edited it to include the phrase "Only if you require WS-Security."
Aaronaught
@Aaronaught: WSE is not just "not in active development". Bugs are not being fixed. There's no support for it in VS2008 or VS2010. There are fewer and fewer people who can help with WSE questions all the time. There is almost no reason to ever recommend WSE for new web service development. The risks of the OP taking your suggestion without adequate reason are too high - wait until you know it's needed before recommending WSE.
John Saunders
@Aaronaught: if you feel the OP would benefit from "only if you require WS-Security", then you should write that. Don't leave it out because you feel I'm rude. If everyone did that, nothing would ever be written.
John Saunders
@John Saunders: I guess we'll have to agree to disagree. I would personally rather see a secure but deprecated service than a shiny new service wide open to anyone. We still have a number of WSE services in production and have never had any issues with non-fixed bugs that were not possible to work around. Nuisances, yes, but those really aren't pertinent to this. Your answer was every bit as risky without adequate context - and even after all this discussion you still haven't seen fit to mention anything about security, so I can only assume that this a knee-jerk reaction to anything "old".
Aaronaught
@Aaronaught: not a knee-jerk reaction to old things - just to WSE. See http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/thread/65224159-b7bf-44dc-937b-94fe2440ba70.
John Saunders
@John Saunders: And in the linked article, you even explicitly call out the fact that Windows 2000 support might be a valid reason to use WSE in a new project. Great, I totally see the error of my ways now. Absent any extenuating circumstances (such as supporting old operating systems or frameworks), I wouldn't start a new project with WSE today either, but repeating the word "obsolete" over and over again does not make the library dangerous to use.
Aaronaught
@Aaronaught: Windows Server 2000 support if security beyond SSL is required. If not, then there's no reason not to use ASMX.
John Saunders
@Aaronaught / @John. relax guys. You both are absolutely right. You both have a point. Its all about 'using latest technology' Vs 'get-your-work-done-anyways'. Thanks both of you
Novice
+2  A: 

Simply use the basicHttpBinding for your service, and consume it as you would have consumed an ASMX web service, i.e., "Add Web Reference". basicHttpBinding should be exactly equivalent to an ASMX Web Service.


You used the "REST" tag. Is this WCF service a REST service? That's a big difference!

John Saunders
Fine, two can play at this game: By telling him to use `basicHttpBinding` you've completely eliminated the default security settings in WCF. You've provided a solution that is **not** equivalent to what he has now, and further to that your answer gives no indication that this will be the result. Enjoy your -1.
Aaronaught
@Aaronaught: neither of us knows what he has now - he hasn't said.
John Saunders
Hey John, talking about REST, can i really use it in some way in client application to consume WCF. (currently binding type is 'NetTcpBinding') I don't wanna change WCF binding to basicHttpBinding, unless it is absolutely necessary. All i wanna ask now is How i gonna use REST in Client app so that I can run it on Windows Server 2000 and can consume WCF as well (with NetTcpBinding). Thanks
Novice
@unknown: are you currently using wsHttpBinding, and do you require the security features?
John Saunders
I am using NetTcpBinding. For now Security Mode is 'none'.
Novice