私のプロジェクトに奇妙なことが起こりました。基本的に WebRole と Azure プロジェクトで構成される Azure WCF プロジェクトがあります。Azure プロジェクトには、エンドポイント情報などを含む ServiceDefinition.csdef が含まれています。
私は自分の WebRole で遊んでいて、そこにエンドポイントを手動で設定しました。ただし、愚かなユーザーエラーによる最初の問題では、これは必要ありませんでした。web.config からエンドポイント定義を削除した後も、Azure プロジェクトで説明されている 2 つのエンドポイント (80 と 8080) ではなく、Web ロールがポート 6627 にバインドされたままになります。そのポートがどこにも言及されていないので、それがデフォルトだと思います。
これが私が編集した web.config の一部です (削除された部分はコメントにあります)。Azure プロジェクトから構成を取得するように戻すにはどうすればよいですか?
<system.serviceModel>
<!-- services>
<service name="MyWebRole.MyService" behaviorConfiguration="MyWebRole.BasicUserInformationBehavior">
<endpoint address="" binding="mexHttpBinding" contract="MyWebRole.IMyService"/>
</service>
</services -->
<extensions>
<behaviorExtensions>
<add name="userInformationProcessor" type="MyWebRole.BasicUserInformationBehaviorExtensionElement, MyWebRole, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</behaviorExtensions>
</extensions>
<bindings />
<client />
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
<userInformationProcessor />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
[編集] 主題に関する詳細情報! この問題は、コンピューティング エミュレーターがまったく起動しないことに関連しています。なぜサービスが機能するのかはわかりませんが、IIS だけで実行されていると思います。