2010-07-09 134 views
3

我正在寻找一个使用.net 4.0的asp.net web服务,但每次我选择4.0时,web服务选择都会消失。我应该使用WCF还是ASMX webservice?

有人建议我可能他们(MS)希望你改用WCF。我对此不甚了解,但他表示,他们就像web服务,但更好。所以任何人都有一个比较指南?

+0

[使用WCF而不是ASMX Web服务的好处是什么?](http://stackoverflow.com/questions/1941481/what-are-the-benfits-of-using-wcf-over-asmx -web-services) – 2010-07-09 18:06:38

回答

1

第一关...... 忘记了微软WANTS你使用,你应该使用技术最能解决您的问题。

WCF优于ASMX的一个优点是改进后的更健壮的安全模型。但是,如果您可以确保服务的安全或它是公开的,那么这不是一个考虑因素。 WCF也可以托管在远程服务器上运行的应用程序中,而ASMX则必须通过IIS托管。

+1

如果您的问题涉及生产质量服务,那么您可能希望Microsoft修复错误 - 这意味着您要使用WCF。 – 2010-07-09 18:12:34

+0

你是什么意思的生产质量? – Achilles 2010-07-09 18:16:44

+2

生产质量意味着如果应用程序停机,某人会面临很大的麻烦 - 甚至可能被解雇。也可能意味着只要服务停止,公司就会失去重金。这与服务减少仅仅是不便的情况相反。 – 2010-07-09 19:31:38

1

Windows Communication Foundation(WCF)是一个用于构建服务的框架。

Web服务是一种可以使用WCF构建的服务。

因此,您应该使用WCF构建您的Web服务。

在.NET 4.0中,微软已经采用了经典的ASMX风格的Web服务,并将每个人都推向WCF。您可以构建Web服务,其功能与WCF中ASMX Web服务的功能相同,只是定义正确的绑定。

+1

你是什么意思,他们已经把ASMX带走了?它仍然受到支持,但被认为是“传统技术”。 – 2010-07-09 18:11:08

+1

@John - 通过“带走”,我的意思是项目选项在面向.NET 4.0时不可用(除非我错过了某些东西,在这种情况下,我很想知道如何获得选项)。 – 2010-07-09 18:25:59

+1

我很高兴他们走了,因为开发者可能无意中创建了这样的服务。尽管如此,尝试为3.5创建一个,然后将目标版本更改为4.0。 – 2010-07-09 19:30:08

相关问题