同一应用程序中HttpHandler和WCF服务之间的不同会话

时间:2010-11-05 17:34:21

标签: silverlight wcf session httphandler

我在WCF服务应用程序中获取HttpHandler时遇到问题,以识别Silverlight客户端为WCF服务提供的相同会话......即:

  1. 用户通过SL app登录到WCF服务 - HTTPContext.Current.Session [“user”]创建为IPrincipal
  2. 用户在同一个应用程序中成功使用了其他几个WCF服务,安全工作
  3. 用户去点击一个调用我的HttpHanders之一的方法 - 例如upload.ashx,突然有一个新的sessionID
  4. 现在,WCF服务都有:

    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    

    和HttpHandlers都继承自BaseHandler,它实现了IHttpHandler和

    IRequiresSessionState: BaseHandler : IHttpHandler, IRequiresSessionState
    

    并在应用程序的web.config中,我有我的httpHandlers部分(正确吗?)设置:

    <httpHandlers>
        <add verb="*" path="Upload.ashx" type="THR.STAISys.WCF.Upload" />
    </httpHandlers>
    

    所以我不知道他们为什么不维护相同的会话...当从测试aspx页面点击时,我可以登录并正确命中处理程序,但是当我通过SL应用程序登录时,我得到一个会话ID,然后点击处理程序我得到一个不同的会话ID ...为什么会这样?

    谢谢!

0 个答案:

没有答案