代码之家  ›  专栏  ›  技术社区  ›  el2iot2

当托管ADO时。WCF WebServiceHost中的NET DataService<T>如何访问请求中提供的凭据?

  •  0
  • el2iot2  · 技术社区  · 16 年前

    public class Context
    {
        public Context()
        {
        }
        public IQueryable<Record> Records
        {
            get
            {
                if (user == someone) //psuedocode
                {
                   //return something
                }
                else
                {
                   //return something else
                }
            }
        }
    }
    

    WebServiceHost host = new WebServiceHost(typeof(DataService<Context>, "http://localhost:43334/");
    WebHttpBinding binding = new WebHttpBinding();
    ServiceEndpoint endpoint = host.AddServiceEndpoint(
               typeof(System.Data.Services.IRequestHandler), binding,
               "folder"); 
    host.Open();
    

    1 回复  |  直到 16 年前
        1
  •  1
  •   Phani Raj    16 年前


    using System.ServiceModel.Activation;
    /// <summary>
    /// Require that the WCF host setup access to the WebHttpContext of the currently executing request.
    /// More details here : http://msdn.microsoft.com/en-us/library/aa702682.aspx
    /// </summary>
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
    public class ContextService : DataService<Context>
    

    b) 通过HttpContext访问当前用户的详细信息。电流。用户属性




    HttpContext.Current.User on MSDN
    Sharing state between ASP.NET and WCF