Pourquoi ne AspNetCompatibilityRequirementsMode.Permis de corriger cette erreur?

J'étais à la recherche autour pour essayer de résoudre un problème que j'ai avec WCF. Je suis très nouveau à WCF, alors je ne savais pas exactement ce qui se passait.

Je suis à l'aide de Visual Studio 2010 et n'Nouveau Site Web->Service WCF. J'ai créé mon service et dans le fichier de config, si je l'ai mis aspNetCompatibilityEnabled="true", je reçois ce message d'erreur lorsque vous allez pour le service via mon navigateur web.

The service cannot be activated because it does not support ASP.NET compatibility.
ASP.NET compatibility is enabled for this application. Turn off ASP.NET compatibility mode in the web.config
or add the AspNetCompatibilityRequirements attribute to the service type with RequirementsMode 
setting as 'Allowed' or 'Required'.

Je ne comprends pas ce que cela signifie. Pourquoi aspNetCompatibilityEnabled="true" l'origine de cette erreur lorsque [AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)] il fixe.

Pour moi, ils sonnent comme ils font la même chose. Aussi, sans que l'attribut silverlight n'a pas été en mesure d'appeler mon WCF méthodes. Pourquoi est-ce?

Voici mon fichier de configuration si nécessaire:

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

  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <customErrors mode="Off"/>
  </system.web>
  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="LargeBuffer" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" />
      </basicHttpBinding>
    </bindings>
    <services>
      <service name="Services.Exporter">
        <endpoint address="" binding="basicHttpBinding" bindingConfiguration="LargeBuffer"
          contract="Services.IExporter" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment
      multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

Donc ma question est, pourquoi ne l'ajout de la Compatibilité de l'attribut résoudre ce problème? Aussi, pourquoi était-il nécessaire pour silverlight pour l'avoir?

InformationsquelleAutor Justin | 2012-03-20