Q
WCF端點路由
1
A
回答
0
基本上你需要爲你的攔截器創建一個自定義行爲。這個過程相當深奧,所以這裏是一個鏈接,而不是我輸入所有這些。
http://msdn.microsoft.com/en-us/magazine/cc163302.aspx
的主要步驟爲:
創建一個自定義行爲
public class AuthorizationInterceptorBehavior: IEndpointBehavior, IServiceBehavior
{
//Code removed
...
}
創建BehaviorExtension:
public class AuthorizationInterceptorBehaviorExtensionElement : BehaviorExtensionElement
{
public override Type BehaviorType
{
get
{
return typeof(AuthorizationInterceptorBehavior);
}
}
protected override object CreateBehavior()
{
return new AuthorizationInterceptorBehavior();
}
}
}
然後創建你的攔截器,並把所有的代碼在AfterReceivedRequest方法中:
public class AuthorizationInterceptor : IDispatchMessageInspector
{ //This class implements the IDispatchMessageInspector which provides the basic access to each message when it is received
//by the service and before is sent back to the client
#region IDispatchMessageInspector Members
public object AfterReceiveRequest(ref System.ServiceModel.Channels.Message request, System.ServiceModel.IClientChannel channel, System.ServiceModel.InstanceContext instanceContext)
{
//YOUR CODE HERE
...}
然後你只需要添加你的攔截到您的配置文件:
<system.serviceModel>
<extensions>
<behaviorExtensions>
<add name="authorizationInterceptor" type="YOUR.ASSEMBLY.AuthorizationInterceptorBehaviorExtensionElement, YOUR.ASSEMBLY, Version=X.X.X.X, Culture=neutral, PublicKeyToken=XXXXXXXXXX" />
</behaviorExtensions>
</extensions>
</extensions>
<behaviors>
<serviceBehaviors>
<behavior name="SomeServiceBehavior">
<authorizationInterceptor />
...
如果您需要更多的幫助或指導,評論,我會盡快給您提供更多詳情。最難的部分是與傳入的請求一起工作,因爲它現在還沒有反序列化,因此您必須將其作爲POX(Plain Ol'Xml)使用。
0
相關問題
- 1. NServiceBus路由到SOAP端點
- 2. NServiceBus端點路由注入
- 3. WCF路由和各種終端
- 4. 爲http和https端點配置路由(global.asax)的WCF 4
- 5. 在IIS中託管的tcp端點的WCF路由
- 6. WCF 4.0路由
- 7. WCF路由+ SSL
- 8. WCF WebAPI路由
- 9. WCF路由+ WIF
- 10. WCF - 路由問題
- 11. WCF - 主「路由器」
- 12. WCF basichttpbinding netTcpBinding路由
- 13. wcf路由服務
- 14. react路由器:客戶端路由與服務器端路由
- 15. WCF REST端點
- 16. WCF IPv6端點
- 17. Angular.js路由:如何到達端點路由?
- 18. Solace多節點路由端口
- 19. 路由到activemq端點不起作用
- 20. 客戶端路由的缺點?
- 21. WebApi2 RoutePrefix和端點路由=未找到
- 22. WCF中間層在路由器後面的2個端點之間啓用無路由器配置的調用
- 23. WCF如何使用ASP.NET路由確定webHttpBinding中使用的端點地址?
- 24. WCF,IIS和端點
- 25. WCF多個端點
- 26. WCF端點配置
- 27. WCF端點異常
- 28. WCF端點地址
- 29. WCF端點配置
- 30. 服務路由WCF RestFul/JSON
好,非常感謝另一種方法。 只是爲了確認,是否在讀取安全令牌之前觸發IDispatchMessageInspector?以及如何在不同的端點之間進行路由? 據我所知,IMessageInspector適用於DispatchRuntime,而這又適用於端點。 – 2010-06-16 04:13:36
安全令牌在涉及到Web服務時是一個非常通用的術語,您能詳細說明您嘗試使用的安全令牌類型以及授權這些「不同憑證」的方式嗎? – CkH 2010-06-16 13:01:52