7

私はAPIに取り組んでおり、それを公開するためにASP.NETWebAPIを使用しています。認証と承認を担当するNamedPipeedサービスにサービス参照を追加しようとしましたが、コードで参照できませんでした。

その名前付きパイプサービスは適切に機能しており、さまざまなプロジェクトで使用されています。ASP.NET MVC4で使用するのはこれが初めてです。ASP.NETMVC3を使用する別のプロジェクトで非常にうまく機能しています。

次の画像でわかるように、サービス参照を追加できます。しかし、オブジェクトブラウザやオートコンプリートには表示されませんでした。

サービスリファレンス

そのサービスを呼び出そうとすると、どこにも表示されません。

コード

ASP.NETMVC4プロジェクトと名前付きパイプサービス参照に問題があるようです。

それがよく知られている/文書化された行動であるかどうかは本当にわかりませんが、インターネット上でその質問に関連する有用なものを見つけることができませんでした。

ASP.NET MVC 4プロジェクトを除く、あらゆる種類のプロジェクトでVisual Studio 2012を使用して、そのサービスへの参照を追加できます。この問題は、特にASP.NETMVC4プロジェクトに関連しています。

Visual Studio 2010を使用して参照を追加しようとしましたが、同じ問題が発生しました。ASP.NETMVC3やその他の種類のプロジェクトで非常にうまく機能します。この場合も、問題は特にASP.NETMVC4プロジェクトに関連しています。

同じ問題を抱えている人はいますか?どうすればそれを通り抜けることができますか?

4

1 に答える 1

2

Visual Studio / ASP.NET MVCのバグのように見えるので、回避策を見つけました。

サービスクライアントとデータ構造のコードを生成するためにsvcutilコマンドラインツールを使用できることがわかりました。コマンドの構文は次のとおりです。

> svcutil net.pipe://my_sevice/mex /namespace:"*, MyNamespace"

次のファイルが生成されました。

  • SecurityService.cs
  • output.config

次に、生成されたSecurityService.csファイルを現在のプロジェクトにインポートし、生​​成されたoutput.configで使用可能なバインディング構成を自分のweb.configとマージしました。

于 2012-11-26T11:10:43.310 に答える