2

少し前、約 2 年前、私は .NET 2.0 で開発された Web ポータルに取り組んでいました。たくさんのasmxページがありました。

先日、ASP .NET に詳しい私の同僚の 1 人が、「ASMX は古くて醜​​いので、書き直すべきだ」と言いました。私が覚えている限りでは、ashx ハンドラーに移行しました。

しかし今、私は 70-515 に合格する準備をしているときに、(AJAX に関して) asmx サービスを学ぶことをまだ示唆している資料に出くわしました。そのアプローチは、新しい ASP .NET 3.5/4.0 Web プロジェクトでも有効ですか? もしそうなら、いつ、どこで使うべきですか?

または、おそらく 2 年前、私は無知だったので、古いバージョンの asmx を使用していて、新しい asmx に移行しました。

PS タグ「asmx」を入力していると、「asmx is obsolete」というメッセージが表示されました: https://stackoverflow.com/tags/asmx/info

4

4 に答える 4

3

WCFを使用できる場合は、ASMXサービスは廃止されます。これは、WCFがそれらをより高いパフォーマンスと柔軟性(マルチバインディング)、機能で完全に置き換えることができるためです。WCFサービスを作成できる場合は、何らかの理由でASMXサービスの作成を要求された場合でも、問題はありません。

また、ASMXからASHXへの移行は、相互に交換するためのものではないため、賢明な移行ではありませんでした。

于 2012-10-27T13:33:22.130 に答える
2

奇妙なことに、私たちは ASMX から WCF に移行し、その後 ASMX に戻りました。WCF にはかなりの欠点がありますが、そのほとんどはクロスプラットフォームの互換性の問題です。サービスを利用する全員が .NET 上にいる場合、これは問題ではありませんが、他のすべてのフレームワークが完全なスタックをサポートしているわけではなく、多くの場合、WCF が生成するものを実行できません。また、WCF ではセキュリティとテストの処理が苦痛であることがわかりました。Web サービスが安全であるとマークされている場合、テスト環境であっても、WCF で安全である必要があります。つまり、各開発者の実際の SSL 証明書を取得することを意味します。確かにとてつもない痛み。

于 2014-09-12T13:39:32.280 に答える
0

ASMX と WCF は、.NET で Web サービスを構築するためのテクノロジです。WCF は .NET 3.0 で導入されました。その目標は、すべての通信テクノロジに標準的な抽象化を提供することであり、.NET で Web サービスを実装するための推奨される方法です。

WCF と ASMX Web サービスの違いは何ですか?

ASHX は、.NET で HTTPHandlers を記述する方法です。HTTPHandler の詳細については、

http://forums.asp.net/t/1166701.aspx/1

ASMX サービスは .NET でサポートされています。ただし、WCF に移行することをお勧めします。また、すべての新しいサービスを WCF で作成する必要があります。

于 2012-10-27T13:48:51.980 に答える
0

はい、asmx は WCF サービスでは廃止されました。4.0 未満の aspx で作業している場合は、asmx を使用できます。

ashx は asmx を完全に置き換えるものではありません。

コーディング形式の問題/標準/大量のコードがある場合は、MVC Web API 2 (4.0 自体) を使用できます。ただし、WCF と比較すると、受信者の応答の期待がどうなるかを確認する必要があります (「WCF は Web サービス (ASMX) の進化形であり、TCP、HTTP、HTTPS、名前付きパイプ、MSMQ などのさまざまなプロトコルをサポートします。ただし、Web API は HTTP のみに対応します( s)")。

于 2016-04-15T12:05:30.393 に答える