首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OperationContext中的标头

OperationContext中的标头
EN

Stack Overflow用户
提问于 2011-02-25 21:51:07
回答 1查看 5.1K关注 0票数 5

我做了一个小项目(WCF + REST),我有一个小问题。我想创建我的Authorization和Authentication类。

我的Authorization类:

代码语言:javascript
复制
//validate api key
public class BasicAuthorization : ServiceAuthorizationManager
{
    public override bool CheckAccess(OperationContext operationContext, 
        ref Message message)
    {
        //some code
    }
}

我的身份验证类

代码语言:javascript
复制
// validation user login & password
public class BasicAuthentication : ServiceAuthenticationManager
{
    public override ReadOnlyCollection<IAuthorizationPolicy> Authenticate(
        ReadOnlyCollection<IAuthorizationPolicy> authPolicy, Uri listenUri, 
        ref Message message)
    {
        //some code
    }
}

我也有一些配置文件

代码语言:javascript
复制
<behavior>
  <serviceAuthorization 
      serviceAuthorizationManagerType="WCF.BasicAuthorization, WCF"/>
  <serviceAuthenticationManager 
      serviceAuthenticationManagerType="WCF.BasicAuthentication, WCF"/>
</behavior>

类中的代码并不重要--不是问题。

我的问题是如何从operationContext或message类中获取报头。如前所述,我在rest中创建了它,所以我想手动设置Authorizaion头/ www-authenticate头,但应用程序看不到它。

我打开了Fiddler2,并尝试放置任何标题,例如:

代码语言:javascript
复制
Content-Type: application/xml
Authorization: Basic bla23rwerfsd3==
User-Agent: Fiddler
Host: localhost:59305

并且message.Headers / operationContext.Headers没有任何my标头(只有另一个),没有授权,没有内容类型

EN

回答 1

Stack Overflow用户

发布于 2011-02-25 21:54:57

您可以在web操作期间使用System.ServiceModel.Web.WebOperationContext类访问标头,该类有一个静态属性"Current",表示当前上下文。它提供了一个包含"WebHeaderCollection“类型的"IncomingRequest”属性的"Header“属性。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5117999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档