2010-04-02 8 views
0

Cette question a été posée lors d'une interview. Dites que j'ai un contrat.WCF Disponibilité du contrat d'exploitation

[ServiceContract] 
public interface IMyService 
{ 
    [OperationContract] 
    void methodForClientA(); 

    [OperationContract] 
    void AnothermethodForClientA(); 

    [OperationContract] 
    void methodForClientB(); 

    [OperationContract] 
    void AnothermethodForClientB(); 
} 

Lorsqu'un ClientA accéder au contrat, il ne devrait voir l'opération se contracte

void methodForClientA(),void AnothermethodForClientA(). 

Est-il possible dans WCF?

Répondre

2

Vous ne pouvez pas empêcher le client A et le client B de voir les méthodes des uns et des autres, car ils sont tous définis dans le même contrat.

Vous pouvez toutefois conserver le client A et le client B de en appelant les méthodes de chacun, en utilisant les mécanismes de sécurité de WCF.

Vous pouvez également avoir deux services distincts, chacun propre au client.

Modifier

Plus j'y pense, plus je préférerais les services distincts options pour un tel scénario. Si vous avez des méthodes spécifiques à chaque client, vous avez vraiment des services distincts de toute façon, chacun spécifique au client particulier.

Questions connexes