2010-12-13 14 views
0

私はhttp://arunatennakoon.blogspot.com/2010/11/things-i-learn-new-this-week.htmlWCFは現実の世界に対応していますか?

Friday, November 12, 2010 
Things I learn new this week 
1. Never ever use WCF. 
--------------------- 

here is why 
1. IIS 7 doesn't support .svc file format by default. So you need to 

いくつかの拡張ファイルをインストールし、ここで読んでいます。だからそれは新製品のために多くの仕事を です。

2. I found it very hard to configure security settings. when i 

は、それがエラーのすべての種類を投げた初めて のために設定してみました。

3. After installing WCF in IIS, sometimes it's trowing an exception 

これは一時ディレクトリを参照します。 にあなたが再 は、アプリケーションと 再配布

and a lot more... 

をコンパイルですから、WCFを使用するためにリスクを取るために?必要があり、この問題を解決しますか

私は実際の世界の例について、年間100億から数十億のヒットがあることを知りたいと思います。

+5

私はあなたが参照したブログに声高に知らされていない浅い偏見を唱え、あなたが共有していると思われる回答を受け入れることができます。あなたの選択、あなたの損失。事実、世界中の多くの人がWCFの大きな価値を得ています。あなたがそれを正しく評価しなくてもそれを否定したいなら、先に進んでください。 –

+0

パフォーマンスが本当に抽象化を犠牲にしなければならない場合、それはプロジェクトに依存します。これらすべての抽象概念の問題は、実際にどのように機能してバランスを取ることができるかを教えてくれないことです。だから私はこの記事http://www.bluebytesoftware.com/blog/2010/09/06/ThePrematureOptimizationIsEvilMythに同意します。あなたがMSインサイダーでないか、あなたが矛盾した意見を持っているプロジェクトマネージャーである場合は、リスクの低いものを選択します。 – user310291

答えて

1

私はwcfをスキップしました。

主な理由は、多くの余分なコード/作業が発生し、既存のメカニズムにはほとんど効果がないことです。

私はasmxルートに行っていましたが、私は通常必要なものに対してはあまりにも重いことがわかりました。また、私は、少なくとも数年前、 "Webサービス"を扱う多くのJavaフレームワークが、私たちが必要としていた先進的なもののいくつかとうまくやっていないことがわかりました。

正直に言って、http://www.wirequest.com/home/html/html/html/html/home.htmlの投稿は、シンプルで堅牢でダイナミックなものです。 WCFの作業には多くの時間を費やします。

もちろん、私がビジュアルスタジオの「デザイナー」タブをクリックしたのは偶然です。たぶん私は快楽主義者であるかもしれないし、マーケティング全般から、これらのテクノロジーがどのようにして私たちのアプリをより「相互運用可能」にするのかについて話し合っているかもしれない。

+2

ほとんど利益がありませんか?誰もが必要とするものではないTransactionScopeにサービスを参加させていると思いますが、必要なときには大きな価値があります。それはただの機能です。 –

+0

パフォーマンスのための少なくとも素晴らしいアイデアは、この古い学校のものを試してみます:) – user310291

+1

私はWebのもののためには、Webサービスと比較してそれを使用する多くの利点はないことに同意します。他のトランスポート(TCP、名前付きパイプなど)がある場合には、より便利です。これは、すべてのトランスポートに同じプログラミングモデルを提供するため、実装に集中します。 – TarasB

1

私は、HPCの世界のためにWCFの使用に関する多くの記事を見たので、私たちは:)

1

私はわめき散らすの多くを行っているのに、私はASMXでクールだ待ってて見つけなければならないと思います最近WCFに対してそれは、clunky、重く、過度のですが、非常に豊かで柔軟な私を間違って取得しないでください。

はい、実際にはすでに準備ができており、何千もの大規模プロジェクトで使用されています。

私はすでに2つのプロジェクトで使用しています。

軽量で設定の必要のないHTTP呼び出しが必要な場合は、ASP.NET MVCのJSON + HTTPまたは新しいWCF's separate HTTP stackを使用してください。

+0

現実世界はパフォーマンスとスケーラビリティ、簡単なプロジェクトライフサイクル管理(厄介なように見える展開)を意味するため、リッチでフレキシブルなことは現実の世界のための準備ができているわけではありません。大規模ではどういう意味ですか?私にとっては、少なくとも数億〜数十億ヒット/年(これは私のプロジェクトの現在の規模です)を意味します。 – user310291

+0

**ほとんどの**スケーラビリティは、テクノロジレベルではなくアーキテクチャとデザインレベルで達成されます。私は多かれ少なかれあなたに同意するが、すぐにそれをノックしないだろう。私の暴言をここで読んでください:http://stackoverflow.com/questions/3710635/succinct-and-light-weight-api-restjson-in-net – Aliostad

+0

スケーラビリティはパフォーマンスが別のものです。すべてがアーキテクチャにのみ依存していると言っていると、websocketは、何らかのリアルタイムアプリケーションのhttpよりも優れたパフォーマンスを可能にします。 – user310291

5

実世界では間違いなく準備が整っています。マイクロソフトでも製品に使用しています。たとえば、MS Dynamics CRMサービスは現在WCFで行われています。

+0

Microsoftが使用しているのは本当の証明ではありません。彼らが問題を抱えていると簡単にハックすることができますが、あなたや私に問題がある場合は、ボックスには入りません。:) – user310291

+2

@ user310291 WCFは管理コード実際には、ILDASMまたはReflectorを使用して、必要なときにすべてを箱の中に入れることができます。 WCFも非常に拡張性が高いため、必要な場合には、その機能のあらゆる面を制御することができます。 –

+0

ILDASMで箱の中に入ることは、ハッカーになることです。エンタープライズの世界では、これは、ビジネスレベルでやりたいことがたくさんあるので、平均的な開発者がハッカーになる必要はありませんから、これは良いQAではありません。 – user310291

0

これまでWCFプロジェクトの展開に問題はありませんでした。私はそれを使って非常に単純なアプリケーションを構築しています(実際には、アプリケーションはそれほど単純ではありませんが、サービスレイヤーです).WCFを3つの環境(開発、統合テスト、ユーザーテスト)

asmxは循環オブジェクトグラフを扱うことができないので、私はWCFと一緒に行ったが、WCFはできる。

+0

あなたのアプリがシンプルならそれは私が実際の世界と呼ぶものではありません:) – user310291

3

はい、間違いなく、WCFは実世界で使用できるようになっており、世界中の大企業と中小企業の多くで使用されています。

はい、IISでホストするのはうんざりですが、それはWCFの問題ではなく、実際にはアプリケーションサーバーではなくIISだけです。

したがって、深刻な製造段階のWCFサービスについては、常に自己ホストにお勧めします。すべてのIIS関連の煩わしさをスキップし、サービスとエンドポイントを完全に制御できるようになります。

+0

...またはあなたのホスト*にお金を払う人(あなたと他の20kボックス以外のユーザー:p) –

5

WCFは現実の世界にとって間違いなく準備ができています。はい、時にはそれは過労ですので、まずそれが本当に必要かどうかを知る必要があります。 WS- *プロトコルスタックが必要な場合や、非MSプラットフォームとのWebサービスの相互運用性が必要な場合は、WCFが必要です。私はWCF規則を使用しており、とても満足しています。

IMO WCFは、3番目に優れたAPI MSで提供されています(.NETコアが最初、ASP.NET MVCが2番目)。それはあなたがほとんど何でもすることができる非常に多くの拡張ポイントを持っています。しかし、それは容易ではありません。 WCFは成熟した熟練した開発者のためのもので、WCFの主な欠点です。

記事に記載されている理由は愚かです。これはASP.NET 4.0が現実の世界のために準備されていないと言っているようなものです。aspnet_regiis.exeを実行してIIS 4.0で.NETランタイムを登録する必要があるか、ラムダ式が現実世界のために準備できていないそれらを使用する方法を学びます。

+0

愚かではない:IISにWCFをインストールした後に、時にはtempディレクトリを参照する例外 が発生することがあります。この問題を解決するには、アプリケーションを再コンパイルして、再配布する必要があります – user310291

1

世界中の大企業のミッションクリティカルな機能にWCFを使用した数多くの現実的なソリューションがあります。私が個人的に知っている一例:英国のコンピュータゲームの最大の小売業者の電子商取引サイトは、WCFサービスを広範囲に利用してサイトを運営し、注文の履行を実現しています。それには数百万の顧客がヒットしている。

WCFが主流です。隠されたリスクはありません。(フレームワークのように)適切なQAプロセスを備えたSDLC内で、正しく理解して使用するのに手間がかかります。

+0

この例をありがとう。 「数多く」については、あまり広告されていないようです。ミッションクリティカルは、技術的に挑戦的であるという意味ではありません。私が現実世界と言うときは、高負荷ユーザーと複雑なワークフローを意味します。 – user310291

0

私たちのプロジェクトではWCFを扱いますが、ほとんどの場合、サービスの稼働をより簡単にします。 WCFは、RESTスタイルのサービスを簡単にホースすることができ、Web要求の処理方法をカスタマイズするためのスタックを提供するためのメカニズムを提供し、Web固有のものとビジネスレイヤーの分離を可能にします。

1

WCFはwebserviceより柔軟です。我々は、我々の要件に応じて異なるタイプのトランスポートプロトコルを使用することができる。それはまた、現代のセキュリティモデルで構成されています。