WCF Http Get 方法返回 400 Bad Request

原因在于没有设置WFC支持Http行为

 

解决方法是将webconfig文件改成下面的格式:

<?xml version="1.0"?>

<configuration>



  <system.web>

    <compilation debug="true" targetFramework="4.0" />

  </system.web>

  <system.serviceModel>

    <protocolMapping>

      <add scheme="http" binding="webHttpBinding"/>

    </protocolMapping>

    <behaviors>

      <serviceBehaviors>

        <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>

          <webHttp/>

        </behavior>

      </endpointBehaviors>

    </behaviors>

    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

  </system.serviceModel>

 <system.webServer>

    <modules runAllManagedModulesForAllRequests="true"/>

  </system.webServer>  

 </configuration>

关键在

<system.serviceModel>

    <protocolMapping>

        <add scheme="http" binding="webHttpBinding"/>

    </protocolMapping>

    <behaviors>



<system.serviceModel>

<system.serviceModel>

    -----

    </protocolMapping>

    <behaviors>

        <endpointBehaviors>

            <behavior>

                <webHttp />

            </behavior >

        </endpointBehaviors>

    <behaviors>

    ------

<system.serviceModel> 

参考来源:stackoverflow

你可能感兴趣的:(request)