[英]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
概括:
為繼承自 BehaviorExtensionElement 的服務行為類創建包裝類:
public class AuthenticationElement : BehaviorExtensionElement { public override Type BehaviorType { get { return typeof(AuthenticationBehavior); } } protected override object CreateBehavior() { return new AuthenticationBehavior(); } }
在暴露工作流的服務的配置文件中,在該部分中添加:
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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.