直接WCFサービスを呼び出すことができません(.NET 3.0)
質問
私は、WCF(VS2005、.NET 3.0)と協力し、直接Webブラウザ経由ではなく、コードからそれを呼び出すことにより、サービスをテストしたいんだ。
私はOperationContractで飾られた一つの方法は、GetTest()を呼び出し属性きました。私は、私がアクセスできる.SVCファイルの背後にあるサービスを持っています。しかし、私が行くとき... / Test.svc / GetTest、唯一の空白の画面が表示されています。
ここでweb.configファイルです。
<system.serviceModel>
<services>
<service name="TestService" behaviorConfiguration="TestBehavior">
<endpoint
address=""
binding="basicHttpBinding"
contract="TestService.ITestService"></endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="TestBehavior">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
私はサービスにブレークポイントを設定しようとするたびに、それは同様にヒット取得していません。私は間違ってここに行くよどこ上の任意のアイデア?私はブラウザを介してメソッドにアクセスするとき、私は応答を得るASMXサービスを使用しています。私は方法からサービスが、何にアクセスしたときしかし、私は「あなたが作成したサービス」のページを取得することができます。
解決
WCFは、ASMXサービスを行うために使用される「ウェブからそれを呼び出す」のオプションを提供していません。どうして?それは巨大なセキュリティホールではなく、Webサービスをテストするための最良の方法です。
1つのオプションは@Yossiが示唆したように行うには、WCFサービスのテストツールを使用することです。
いっそ、あなたのWebサービスを利用するために、独自のクライアントを記述します。これは、あなたのサービスを消費する人々が対処するのと同じ問題に対処し、私を信じて助ける、WCFは、それらのハングアップのかなりの数を持つことができます。
誤解しないで、WCFは素晴らしいfrikkinです!しかし、そこに両立させることがたくさんだ、とあなたは新しいオッズならあなたはそれが間違って取得するつもりだされています。でも、早期導入はまだWCFのすべてのインとアウトを知りません。
他のヒント
WCFサービスのテストツールを使用することを検討してくださいすることの最初のテストのためにをあなたのサービス(ただし、really-ユニットテストが:-)あなたの友達です)(そして、ええ - あなたは、少なくとも最初は、MEXのエンドポイントが必要になります)。
デバッグについて - あなたはホスティングサービス正しいプロセスに添付されていますか?あなたはデバッグシンボル付きでコンパイルされていますか?サービスがIISに公開されている場合 - ?公表されたコードは、Visual Studioのコードと同じです。
WebGetAttributeを見てみましょう - 。.NET 3.5を必要とします。
これはWCF WebサービスからRESTデータを取得することができます。