WCFとASMXのWebサービスを完全に混同しています。私は以前の段階で多くのWebサービスを使用してきましたが、今ではWCFと呼ばれる新しいものが導入されました。私はまだWebサービスとして機能するWCFを作成することができます。 WCFにはもっと多くのものがあると思います。
WCFとWebサービスの違いは何ですか?それぞれをいつ使うべきですか?
Keith Elderは ASMXとWCFをうまく比較しています ここ。見てみな。
ASMXとWCFのもう一つの比較は ここで見つけることができます - 私は100%そこのすべての点に同意しませんが、それはあなたにアイデアを与えるかもしれません。
WCFは基本的に「ASMX on stereoids」です - ASMXができることはすべてそうです - プラス もっとたくさんあります! 。
ASMXは以下のとおりです。
WCFは次のようになります。
一言で言えば、WCFはASMXを完全に置き換えるものです。
MSDNの WCFデベロッパーセンターをチェックしてください 。
更新: リンクが切れているようです - これを試してください: Windows Communication Foundationとは何ですか?
ASMX WebサービスはHTTP(.asmxを持つ従来のWebサービス)によってのみ呼び出すことができます。 WCFサービスまたはWCFコンポーネントは、任意のプロトコル(http、tcpなど)および任意のトランスポートタイプによって呼び出すことができます。
次に、ASMX Webサービスは柔軟ではありません。ただし、WCFサービスは柔軟性があります。あなたがサービスの新しいバージョンを作るなら、あなたはちょうど新しい目的を明らかにする必要があります。したがって、サービスはアジャイルであり、これは現在のビジネストレンドを見ると非常に実用的なアプローチです。
WCFは、契約、インターフェース、運用、およびデータの契約として開発しています。開発者として私たちはビジネスロジックサービスにもっと焦点を当てており、チャンネルスタックについて心配する必要はありません。 WCFはあらゆる種類のサービスのための統一されたプログラミングAPIですので、私たちはサービスを作成し、HTTP/TCP/MSMQなどのような通信メカニズムを設定するために設定情報を使用します
これは非常に古い質問ですが、ASMXの利点がかなりよく表現されているとは思いません。それほど柔軟ではありませんが、ASMX Webサービスは使い方や理解がとても簡単です。 WCFはより柔軟性がありますが、立ち上がって構成することもより複雑です。
ASMX Webサービスは、ファイルを追加するとすぐに立ち上がってWebサービス参照として追加する準備ができています。 (あなたのプロジェクトがビルドすると仮定して)
create webservice
- > run webservice
- > add webservice reference
という単純な開発ワークフローでは、ASMX Webサービスには失敗する可能性が非常に少なく、誤って設定する可能性はほとんどなく、それが強みです。
WCFがASMXに取って代わると主張する人々への応答として、私はWCFが合理化されたK.I.S.Sを追加する必要があるだろうと答えます。 ASMXを完全に置き換えるためのコンフィギュレーションモード.
ASMX Webサービスのweb.configの例:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings />
<system.web>
<compilation targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>
WCFはASMX Webサービスを完全に置き換えます。 ASMXはWebサービスを行うための古い方法であり、WCFはWebサービスを行うための現在の方法です。クライアントまたはサーバー上でのすべての新しいSOAP Webサービスの開発は、WCFを使用して行う必要があります。
WCF上のasmx Webサービスの単純さに関しては、たくさんの話が続いています。ここでいくつかの点を明確にしましょう。
私がWCFよりもasmxサービスを好む人の一人であったことを忘れないでください、その当時私はWCFサービスとその機能についてよく知らなかったです。私はWCFの設定が怖かったです。しかし、私はあえて自分でWCFサービスを作成しようとしましたが、WCFの詳細を学んだときには、今ではWCFを妨げるものはなく、誰にでもお勧めします。ハッピーコーディング!