私は WCF 4 サービス プロジェクトを持っています。F5 を押してhttp://localhost
も、ファイル ディレクトリが表示されます。WCF Service Host を実行していない理由がわかりません。WCF サービス プロジェクトをスタートアップ プロジェクトとして設定しています。
<!-- SOAP Binding -->
<basicHttpBinding>
<binding name ="soapBinding">
<security mode="None"></security>
</binding>
</basicHttpBinding>
<!-- Enable RESTful Endpoints-->
<webHttpBinding>
<binding name="webBinding"></binding>
</webHttpBinding>
たとえば、別の C# プロジェクトに追加し、サービス参照を介して追加する場合、これは WSDL を作成します。そのため、同じ URL (DID が wsdl を作成する C# プロジェクトに追加したばかりの URL) を指定した後、テスト クライアントに何も表示されない理由がわかりません。 OKですが、正常に追加されたと表示された直後のテスト クライアント UI には何も表示されません。私は別の開発マシンで試してみましたが、彼は私のサービスと同じ取引をしています。
更新 - セットアップに関する私の側からの詳細情報:
WCF サービス プロジェクトの Web.config
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5"/>
</system.web>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true">
<serviceActivations>
<add relativeAddress="Events.svc" service="OurCompany.API.OurService"/>
</serviceActivations>
</serviceHostingEnvironment>
<bindings>
<!-- SOAP Binding -->
<basicHttpBinding>
<binding name ="soapBinding">
<security mode="None"></security>
</binding>
</basicHttpBinding>
<!-- Enable RESTful Endpoints-->
<webHttpBinding>
<binding name="webBinding"></binding>
</webHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<!-- allow XML REST -->
<behavior name="poxBehavior">
<webHttp defaultOutgoingResponseFormat="Xml" automaticFormatSelectionEnabled="true"/>
</behavior>
<!--<behavior name="jsonBehavior"><enableWebScript/></behavior>-->
<!-- allow JSON REST -->
<behavior name="jsonBehavior">
<webHttp helpEnabled="true" defaultOutgoingResponseFormat="Json"/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="defaultBehavior">
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="EventInventory.API.Events" behaviorConfiguration="defaultBehavior">
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
<!--<endpoint address="soap" binding="basicHttpBinding" bindingConfiguration="soapBinding" contract="OurCompany.API.IOurService" />-->
<!-- <endpoint address="json" binding="webHttpBinding" bindingConfiguration="webBinding" behaviorConfiguration="jsonBehavior" contract="OurCompany.API.IOurService" />-->
<!--<endpoint address="xml" binding="webHttpBinding" bindingConfiguration="webBinding" behaviorConfiguration="poxBehavior" contract="OurCompany.API.IOurService" />-->
<endpoint binding="webHttpBinding" bindingConfiguration="webBinding" behaviorConfiguration="jsonBehavior" contract="OurCompany.API.IOurService" />
</service>
</services>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<directoryBrowse enabled="true"/>
</system.webServer>
</configuration>
Visual Studio でプロジェクトを確認する