2011-12-29 7 views

答えて

8

あなたがを使用していると仮定すると、あなたはMSDNからCreate a Custom Workflow Activity記事、次のカスタムワークフローを作成したこと、それはCodeActivityクラスを継承する必要があり、 などの方法があります。現在を取得するために

protected override void Execute(CodeActivityContext context) 
{ 
    // Your code here 
} 

userIdは、あなたはこのように、CodeActivityContextからIWorkflowContextを取得する必要があります。

IWorkflowContext workflowContext = context.GetExtension<IWorkflowContext>(); 

そして:

var id = workflowContext.UserId; 
+0

@Antonie:こんにちは、ありがとうございます。その働き。
さらに、以下のコードを使用してuserIdを取得することもできます。
IExecutionContext context = executionContext.GetExtension (); Guid currentUserID = context.UserId; どちらがより発火性で..? WhoAmIRequestクラスとWhoAmIResponseクラスを使って同じことができますか? –

+0

@Charan:私はそれらを試しませんでしたが、[MSDN](http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.iexecutioncontext_members.aspx)によると、IExecutionContextと思われます。 UserIdはIWorkflowContext.UserIdを呼び出しますので、必要に応じて最適なインターフェイスを使用してください。また、WhoAmIRequest/Responseに関しては、コンテキストにはすでにユーザーに関する情報が含まれているため、取得するための別の要求をすることはあまりにも多くの問題になります。 – Antoine

+0

@Antonie:クール..ありがとうもう一度.. –

関連する問題