0

私は C# で WCF プロジェクト (:53763/WCFTestService.svc) と Web アプリケーション (:50238/CSharp/test.aspx) を持っています。Web アプリケーションで WCF プロジェクト メソッドを呼び出そうとしています。Web アプリケーションのサービス参照として WCF プロジェクトを追加しました。

test.aspx.cs ファイルには、次のような方法があります

[WebMethod()]
    public static string GetWCF()
    {
        WCFTestServiceClient client = new WCFTestServiceClient();
        string result = client.XMLData("1122");
        return result;
    }

この取得エラーを実行すると:

ServiceModel クライアント構成セクションで、コントラクト 'TestWCFServiceReference.IWCFTestService' を参照する既定のエンドポイント要素が見つかりませんでした。これは、アプリケーションの構成ファイルが見つからなかったか、このコントラクトに一致するエンドポイント要素がクライアント要素に見つからなかったためである可能性があります

.

WCF プロジェクトを Web アプリケーションのサービス参照として追加すると、Web アプリケーションの web.config ファイルが自動的に更新されません。(参照を追加するとき、デフォルトではコードは追加されません)。機能させるために web.config ファイルに何かを追加する必要がありますか?

WCF プロジェクトの web.config は次のとおりです。

<?xml version="1.0"?>
<configuration>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>

    <services>
      <service name="WCFTestService.RestService" behaviorConfiguration="ServiceBehaviour">
        <endpoint address="" binding="webHttpBinding" contract="WCFTestService.IRestService" behaviorConfiguration="web">          
        </endpoint>
      </service>      
    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior name="ServiceBehaviour">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
        <!--<behavior>
          --><!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment --><!--
          <serviceMetadata httpGetEnabled="true"/>
          --><!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information --><!--
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>-->
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="web">
          <webHttp/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

</configuration>
4

2 に答える 2

0

WCF プロジェクトを参照するときに解決する必要があるエラーがあるようです。参照を追加するときに Visual Studio の情報タブ (警告/エラーではない) を確認すると、エラーが表示されます。私はそれが Newtonsoft.Json と関係があると推測しています-サービス参照の追加エラー: タイプはサポートされていない再帰的なコレクションデータコントラクトなど、多くの投稿があります

于 2013-05-10T08:15:27.153 に答える