0

IIS で WCF サービスをホストし、次のエンドポイントを構成しました

    <endpoint name="MainService" contract="Docs.ICalculatorService" address="http://localhost:49495/WcfService1/service.svc" binding="wsHttpBinding">
            </endpoint>
    <endpoint name="MainTcpService"  contract="Docs.ICalculatorService" address="net.tcp://localhost:49496/WcfService1/service.svc" binding="netTcpBinding">
   </endpoint>

実際のポート番号 49495 で WCF サービスをホストしましたが、ポート番号 49496 を使用する別のエンドポイントを構成しました。別のポート 49496 でこの WCF サービスをホストする必要がありますか、それとも何か不足していますか

スタック トレースを調べたときにこのエラーが発生する

コントラクト「ICalculatorService」を持つ「net.tcp://localhost:49495/WcfService1/service.svc」の ChannelDispatcher は、その IChannelListener を開くことができません。

IIS 7 でエンドポイントと構成済みバインディングを構成しましたが、新しいエラーが発生しました

.Net Framing をサポートしていないサービスへのチャネルを作成しようとしました。HTTP エンドポイントに遭遇している可能性があります。**

4

1 に答える 1

0

shabulator が言うように、http 以外のサービス アクティベーターを有効にする必要があります。これに出くわした人にとってこれが明確でない場合、これは有効にする必要がある Windows の機能です。

Windows 7 (Server 2008 も同様) では、[コントロール パネル] -> [プログラム] の下に [Windows の機能の有効化または無効化] が表示されます。これにより、次のようなダイアログが表示されます。

Windows の機能ダイアログ

Microsoft .NET Framework 3.5.1 では、2 つのボックスにチェックを入れて機能をインストールします。

これを行うと、サーバーに .NET 3.5 を配置するという副作用がありました。これは、新しいバージョンを使用していたため、望ましくありませんでした。これが発生した場合は、コマンド プロンプトを開き、.NET 4.0.30319 フォルダーに移動して aspnet regiis ツールを実行します。

C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -iru

于 2014-04-14T10:22:55.297 に答える