1

サーバー 2012 iis で net.tcp をホストできません。

サーバー 2008R2/VS2012 では問題はありません

server2012/VS2012 で wdsl にアクセスすると、最初に「プロトコル 'net.tcp' には HostedTransportConfiguration タイプの実装が登録されていません。」というメッセージが表示されます。次に更新を押すと、「同じキーを持つアイテムが既に追加されています。 ."

「サービスがその IChannelListener を開けない」場合の TraceViewer からのエラー

しかし、デフォルトの Web サイトでバインディングを設定しました (グリッドで net.tcp を編集すると例外がスローされるため、コマンド ラインを使用する必要がありました。これは既知の問題です)。

アプリケーション レベルのバインディングを http,net.tcp に設定し、ネットワーク サービス ID を使用して新しい AppPool を作成し、findPrivateKey を使用して権限を付与しました。

Server 2008R2/VS2012 の新しい仮想マシンを作成しましたが、上記の手順で問題はありませんでした。

編集 サーバー 2012 の
追加メモ 役割と機能の追加:
以下がインストールされていることを確認しました:
Web サーバー - アプリケーション開発: CGI および ASP(クラシック) を除くすべてチェック済み
.NET Framework 3.5 機能: すべてチェック済み
Windows プロセス アクティベーション サービス: すべてチェック済み
IIS: デフォルトWeb サイト: バインディング net.tcp 8081:

IIS: 既定の Web サイト -> 詳細設定 -> 有効なプロトコル: http,net.tcp
IIS: 既定の Web サイト\サービス -> 詳細設定 -> 有効なプロトコル: http,net.tcp

Server2012 で何か特別なことはありますか?

4

2 に答える 2

0

Here some tips that you could try:

1-Open a Command Prompt (as administrator) and run: netstat -ona

Check if your service is listening to your server port.

Example: your endpoint is net.tcp://localhost:8015/MyService. So running the command above, you will see an item: TCP 127.0.0.1:8015 0.0.0.0 LISTENING

2-If your service is not listening, then create a Console app and self-host your service. Example:

using System.ServiceModel.ServiceHost;
public class Sample
{
    ServiceHost host = new ServiceHost(typeof(MyService));

public static void Main()
{
        host.Open();

        Console.WriteLine("listening...");

        Console.Read();

        host.Close();
    }
}

3-Repeat the first step and check if your service is listening to the port.

于 2013-05-20T19:31:16.753 に答える