0

WCF に問題があります。私のテスト コードは非常に単純です。

Silverlight アプリケーションからサーバー上のサービス レイヤー メソッドを呼び出し、結果をテキスト ボックスに出力します。

このすべてが try-catch で囲まれています。

サービス レイヤー メソッドが常に定義された文字列を返すだけの場合、問題はないように見えますが、より複雑なメソッドを呼び出すとすぐに失敗します。

デバッグ中は、複雑なモデル メソッドにさえ到達しません。その前に、Microsoft から自動生成されたコード内で失敗します。

/WuSIQ.jpg

エラーメッセージ「NotFound」は正確に最も役立つものでも具体的なものでもないため、ヒントを探すのに苦労したことを想像できます。

自動生成されたコードは単純なデータしか送信できないのではないかと思ったので、一時的な文字列を作成してそれを返しましたが、これは役に立ちませんでした。

クライアント アクセス ポリシー、サービス参照の追加、ServiceReferences.ClientConfig と ServiceLayer.svc.cs の重複参照の削除は既に行っています。

メイン ウィンドウから実行してデバッグしていると、ブレークポイントが取得されます。

誰?

4

1 に答える 1

0

デバッグが修正された後、サーバー側のメソッドにいくつかのエラーがすぐに見つかりました。

コメントで言ったように、プロジェクトを「複数のスタートアッププロジェクト」に設定して、これを修正しました。

WCF サービス メソッドの更新で問題が発生した場合は、通常、次のいずれかですべて解決しました。

1 すべての bin および obj フォルダーを削除します (具体的には、再構築を選択すると同じことが行われる場合があります)。

2 servicelayer は、次の場合を除き、正常に自動更新されません (ただし、動作します!):

[ServiceContract(Namespace = "")]

...これに設定されています:

[ServiceContract(Namespace = "YourServiceLayerName")]

3 サービス参照を右クリックし、[更新...] を選択します。

デバッグが再び停止することもありましたが、強制的に完全に再構築すると、通常の状態に戻りました。

これが誰かに役立つことを願っています。

于 2012-03-28T18:31:18.373 に答える