1

これが FAQ であることはわかっています。同様の Q と A をすべて読みましたが、まだ正しくありません。

私は一般的に Web サービスと ASP.NET の初心者です。私は同僚によって書かれた小さな WCF サービス アプリケーションを持っています。私のPCでは、変更を加えていないため、サービスとして追加するときにWCFテストクライアントプログラムに受け入れられません(以下のエラーメッセージ)。私の同僚は現在休暇中です!

プロジェクトのプロパティはWcfTestClient.exe、自動割り当てされたポート番号を持つ VS 開発サーバーの使用を開始するように設定されています。プロジェクトには、サービスに必要なwebform.aspxGlobal.asaxファイルが追加されています。

私は走った

netsh http add urlacl url=http://localhost:51568/Service1.svc user=<loginname>

私の質問は、WcfTestClient でサービスを開始し、ブラウザーで Web フォームを取得するにはどうすればよいですか?

同様の質問に対するさまざまなSOの回答を見てきましたが、まだ困惑しています。

サービスの追加に失敗しました。サービス メタデータにアクセスできない場合があります。サービスが実行中で、メタデータを公開していることを確認してください。http://localhost:51568/Service1.svcエラー:アクセスできる Windows (R) Communication Foundation サービスの場合は、メタデータを取得できません。指定されたアドレスでのメタデータ公開が有効になっていることを確認してください。メタデータの公開を有効にする方法については、... エラー URI:http://localhost:51568/Service1.svc
メタデータに解決できない参照が含まれています: ' http://localhost:51568/Service1.svc'。リッスンしているエンドポイントがありませんでしたhttp://localhost:51568/Service1.svcメッセージを受け入れることができます。これは、多くの場合、アドレスまたは SOAP アクションが正しくないことが原因です。詳細については、InnerException (存在する場合) を参照してください。リモート サーバーに接続できません ターゲット マシンがアクティブに拒否したため、接続できませんでした 127.0.0.1:51568HTTP GET エラー URI: http://localhost:51568/Service1.svc ' ' のダウンロード中にエラーが発生しましたhttp://localhost:51568/Service1.svc。リモート サーバーに接続できません ターゲット マシンがアクティブに拒否したため、接続できませんでした 127.0.0.1:51568

これは私のweb.configです:

<system.web>
    <compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
    <services>
        <service name="Service1" behaviorConfiguration="DefaultBehavior">
            <endpoint address="http://localhost:*/Service1" binding="basicHttpBinding" contract="IService1" />
            <endpoint address="http://localhost:*/Service1/mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        </service>
    </services>
    <behaviors>
        <serviceBehaviors>
            <behavior name="DefaultBehavior">
                <serviceMetadata httpGetEnabled="true"/>
                <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>
        </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

ポート番号に関して私にとって奇妙なことは、プロジェクトを外部プログラムで開始するように設定していない場合、ブラウザは localhost ポート 50345 にディレクトリ リストを表示しますが、これは 51568 とは異なるポート番号です。

4

1 に答える 1

0

リモート サーバーに接続できません ターゲット マシンがアクティブに拒否したため、接続できませんでした 127.0.0.1:51568

プロジェクトを外部プログラムで開始するように設定しないと、ブラウザーは localhost ポート 50345 にディレクトリ リストを表示します。

これは単に、WCF サービスが後者のポートでホストされていることを意味します。これは、プロジェクトのプロパティの [Web] タブで変更できます。

于 2012-06-29T09:29:55.177 に答える