Demande d'erreur avec les Services de Données WCF

Ses mon premier temps la mise en place d'un Service OData et je suis bien sûr d'avoir quelques problèmes...

Le problème est que je ne peux pas obtenir le service, je reçois une "Erreur de Requête".
Demande d'erreur avec les Services de Données WCF

J'ai recherches sur ce que le problème peut être et je l'ai trouvé un problème commun est que les règles d'accès sont mal tapé. J'ai donc essayé de fixation, cette fois avec le Singulier des noms, le Pluriel des noms et j'ai aussi essayé avec typeof(Post).getType().Name

Bien, voici mon code. J'espère que vous pourrez m'aider, j'ai été coincé pendant des heures.

public class ODataService : DataService<Entity>
{
    //This method is called only once to initialize service-wide policies.
    public static void InitializeService( DataServiceConfiguration config )
    {
        //config.SetEntitySetAccessRule( "Users", EntitySetRights.All );
        //config.SetEntitySetAccessRule( "Posts", EntitySetRights.All );
        //config.SetEntitySetAccessRule( "Albums", EntitySetRights.All );


        config.SetEntitySetAccessRule( "*", EntitySetRights.AllRead );
        config.SetServiceOperationAccessRule( "*", ServiceOperationRights.AllRead );
        //config.SetServiceOperationAccessRule( "GetPosts", ServiceOperationRights.AllRead );

        config.UseVerboseErrors = true;
        config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
    }

    [WebGet]
    public IQueryable<Post> GetPosts()
    {
        return CurrentDataSource.Posts.AsQueryable();
    }
}

De la structure de mon EntityFramework classe (db première)
Demande d'erreur avec les Services de Données WCF

Des méthodes et des Membres de l'Entité de la classe. Ici, les entités sont définies dans le pluriel.
Demande d'erreur avec les Services de Données WCF

C'est mon Web.config:

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <connectionStrings>
    <add name="Entity" connectionString="metadata=res://*/;provider=System.Data.SqlClient;provider connection string=&quot;data source=XXX;Initial Catalog=XXX;persist security info=True;user id=XXX;password=XXX;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime requestValidationMode="4.5" targetFramework="4.5" encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    <pages controlRenderingCompatibilityVersion="4.5" />
    <machineKey compatibilityMode="Framework45" />
  </system.web>
<system.serviceModel>
    <services>
      <service name="LinkIT.Core.OData.ODataService"  behaviorConfiguration ="DebugEnabled">
      </service>
    </services>
    <behaviors>
      <serviceBehaviors >
        <behavior name="DebugEnabled">
          <serviceDebug includeExceptionDetailInFaults="True"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
  </system.serviceModel>
</configuration>

Un message d'erreur détaillé:

Le serveur a rencontré une erreur de traitement de la demande. L'exception
message est " la Valeur ne peut pas être null. Nom du paramètre:
propertyResourceType'. Voir les journaux du serveur pour plus de détails. L'exception
trace de la pile est:

au Système.Les données.Services.WebUtil.CheckArgumentNull[T](T valeur, Chaîne de
parameterName) à
Système.Les données.Services.Les prestataires.ResourceProperty..ctor(String nom,
ResourcePropertyKind genre, ResourceType propertyResourceType) à
Système.Les données.Services.Les prestataires.ObjectContextServiceProvider.PopulateMemberMetadata(ResourceType
resourceType, IProviderMetadata espace de travail, IDictionary2 knownTypes,
PrimitiveResourceTypeMap primitiveResourceTypeMap) at
System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata(IDictionary
2
knownTypes, IDictionary2 childTypes, IDictionary2 entitySets) à
Système.Les données.Services.Les prestataires.BaseServiceProvider.PopulateMetadata()
au Système.Les données.Services.Les prestataires.BaseServiceProvider.LoadMetadata()
au
Système.Les données.Services.DataService1.CreateMetadataAndQueryProviders(IDataServiceMetadataProvider&
metadataProviderInstance, IDataServiceQueryProvider&
queryProviderInstance, BaseServiceProvider& builtInProvider, Object&
dataSourceInstance) at
System.Data.Services.DataService
1.CreateProvider() à
Système.Les données.Services.DataService1.HandleRequest() at
System.Data.Services.DataService
1.ProcessRequestForMessage(Stream
messageBody) à SyncInvokeProcessRequestForMessage(Object , Object[] ,
Object[] )
Système.ServiceModel.Répartiteur.SyncMethodInvoker.Invoke(Object
exemple, Object[] entrées, Object[]& sorties) à
Système.ServiceModel.Répartiteur.DispatchOperationRuntime.InvokeBegin(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&
rpc) à
Système.ServiceModel.Répartiteur.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&
rpc) au Système.ServiceModel.Répartiteur.MessageRpc.Processus(Boolean
isOperationContextSet)

Pourriez vous s'il vous plaît suivez les instructions ici pour obtenir un message d'erreur plus détaillé? blogs.msdn.com/b/phaniraj/archive/2008/06/18/...
Merci pour l'astuce
Est l'une de vos propriétés d'un Enum/type Spatial?
Oui j'en ai plusieurs, de l'Utilisateur.UserRole, De L'Utilisateur.Genre, Post.Type De Poste.Visibilité (De L'Album.Visiblity). @MarkStafford-MSFT voulez-vous dire que EF Énumérations ne fonctionne pas dans WCF encore?
Oui - les Services de Données WCF ne prend pas en charge le protocole enum propriétés (encore).

OriginalL'auteur LazyTarget | 2012-08-25