ImpersonationOption Enum


Specifies the impersonation behavior for a service operation on a service instance.

public enum class ImpersonationOption
public enum ImpersonationOption
type ImpersonationOption = 
Public Enum ImpersonationOption


Allowed 1

Impersonation is performed if credentials are available and ImpersonateCallerForAllOperations is equal to true.

NotAllowed 0

Impersonation is not performed. If ImpersonateCallerForAllOperations is equal to true, a validation exception occurs at service startup time.

Required 2

Impersonation is required.


The following code example on the service shows how to have a method impersonate the caller by using the OperationBehaviorAttribute to set the impersonation level.

[OperationBehavior(Impersonation = ImpersonationOption.Required)]
public double Add(double n1, double n2)
    double result = n1 + n2;
    Console.WriteLine("Received Add({0},{1})", n1, n2);
    Console.WriteLine("Return: {0}", result);
    return result;
<OperationBehavior(Impersonation := ImpersonationOption.Required)> _
Public Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Add
    Dim result = n1 + n2
    Console.WriteLine("Received Add({0},{1})", n1, n2)
    Console.WriteLine("Return: {0}", result)
    Return result
End Function


Use the ImpersonationOption enumeration to control impersonation in Windows Communication Foundation (WCF) applications.

This setting interacts with a configuration property on ImpersonateCallerForAllOperations in the following table.

Applies to