ASP.NET 4 を使用して WCF サービスを作成し、独自の Web アプリケーション プロジェクト内でそれに接続しようとしていますが、「既定のエンドポイント要素が見つかりませんでした」というエラーが表示されます。
サービスを参照し、構成ファイルが欠落している外部プロジェクトをすべて扱っているように見えるため、この同様の質問に対する回答はどれも役に立たないようです。
サービスは、そのメソッドが直接使用されている場合に機能します (例: JS 呼び出し)。
何か案は?以下の私のserviceModelセクションをご覧ください:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="metadataBehavior">
<serviceMetadata httpGetEnabled = "true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="webHttpBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<webHttpBinding>
<binding name="webHttpBindingWithJsonP" crossDomainScriptAccessEnabled="true" />
</webHttpBinding>
</bindings>
<services>
<service name="MapiWebService.CrmService" behaviorConfiguration="metadataBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:64049/Service/CrmService.svc"/>
</baseAddresses>
</host>
<endpoint address="" binding="webHttpBinding" bindingConfiguration="webHttpBindingWithJsonP" contract="MapiWebService.CrmService" behaviorConfiguration="webHttpBehavior" />
<endpoint address="http://localhost:64049/Service/CrmService.svc/mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
</system.serviceModel>
これが私のサービスクラスの冒頭の行です:
namespace MapiWebService
{
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class CrmService : PortalService
{
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public string Authenticate(string username, string password)