簡體   English   中英

Windows Workflow Foundation 服務中的服務類中的屬性

[英]Attributes in service class in Windows Workflow Foundation services

我已經在我的 WCF 服務中加入了一些安全功能,並在我的服務類中放置了一些實現 IServiceBehavior 的自定義屬性。 例如:

[AuthenticationBehavior()]
public class BRService1 : ServiceBase, IBRService1

在哪里

public class AuthenticationBehavior : Attribute, IServiceBehavior
{
...
}

但是我需要對某些 ​​WWF 服務執行相同的操作,盡管我沒有可以添加屬性的顯式服務類。

您知道我可以在工作流服務中執行相同操作的方法嗎?

提前致謝。

最后,經過大量研究和測試,我在這篇文章中找到了答案: https : //social.msdn.microsoft.com/Forums/vstudio/en-US/a9b45eaf-c8e2-444c-819d-e448868e68bb/using-workflow -extensions-contextgetextension-in-iishosted-workflows?forum=wfprerelease

概括:

  1. 為繼承自 BehaviorExtensionElement 的服務行為類創建包裝類:

     public class AuthenticationElement : BehaviorExtensionElement { public override Type BehaviorType { get { return typeof(AuthenticationBehavior); } } protected override object CreateBehavior() { return new AuthenticationBehavior(); } }
  2. 在暴露工作流的服務的配置文件中,在該部分中添加:

2.1 之前創建的BehaviorExtensionElement的一個擴展:

<extensions>
  <behaviorExtensions>
    <add name="authenticationBehaviorExt"
         type="Security.AuthenticationElement, Security"/>
  </behaviorExtensions>
</extensions>

2.2 一種服務行為:

<behavior name="authenticationBehavior">
  <serviceMetadata httpGetEnabled="True" />
  <authenticationBehaviorExt />
</behavior>

2.3 在工作流服務定義中添加serviceBehavior

<service name="WFService" behaviorConfiguration="authenticationBehavior">
<endpoint binding="basicHttpBinding" bindingConfiguration="BasicHttp_Workflow" contract="IWFService" />
</service>
  1. 享受。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM