2009-09-03 29 views
0

Je ne savais vraiment pas quel serait le titre de ma question, donc désolé si c'est un peu vague.Combinaison de propriétés rendues disponibles via le service de profil webservices aspnet

Je travaille sur une application qui utilise les services d'application client pour la gestion de l'authentification/profil, etc.

En web.config pour mon site, j'ai les propriétés de profil suivantes comme celui-ci:

<properties> 
    <add name="FirstName" type="string" defaultValue="" customProviderData="FirstName;nvarchar"/> 
... 

choses de base comme le prénom, le nom, etc.

J'expose les propriétés pour mon application client comme ceci:

<system.web.extensions> 
    <scripting> 
     <webServices> 
      <authenticationService enabled="true" requireSSL="false"/> 
      <profileService enabled="true" readAccessProperties="UserProfile" writeAccessProperties="UserProfile"/> 
      <roleService enabled="true"/> 
     </webServices> 
    </scripting> 
</system.web.extensions> 

Ce que je me demande, c'est s'il est possible de regrouper toutes les propriétés de profil individuelles dans un seul objet pour les applications client à utiliser? Au départ, j'avais toutes mes données de profil stockées en tant que membres d'une seule classe (UserProfile) mais je l'ai tout cassé afin que je puisse utiliser le SqlTableProfileProvider pour stocker chaque champ en tant que colonnes individuelles dans les tables pertinentes. Je sais que je peux créer une classe avec des membres pour chaque type, je ne suis pas sûr qu'il existe un moyen facile de créer un objet avec toutes mes valeurs de propriété (autre que d'assigner des valeurs à cet objet chaque fois que j'assigne le les propriétés autonomes).

Je ne pense pas que j'explique très bien, alors je vais essayer un exemple.

Dites dans mon profil de site Web J'ai Prénom et Nom comme propriétés.

Pour mon application client profileService, je souhaite avoir un ReadAccessProperty FullName. Y a-t-il un moyen de créer automatiquement FullName à partir des propriétés FirstName et LastName existantes sans devoir également avoir une propriété FullName séparée (et assigner manuellement des données à chaque fois que j'assigne des données à FirstName et LastName)?

Répondre

0

Pas sans beaucoup de remplacement de la couche ApplicationServices. La manière la plus simple pour vous de le faire est de simplement reconstituer votre classe de profil précédemment obsolète avec les données renvoyées par le service.