如何在WCF服务中访问HttpContext.Current.User.Username

时间:2011-07-19 12:39:12

标签: wcf

如何从WCF服务中的Web应用程序访问HttpContext.Current.User.Username

2 个答案:

答案 0 :(得分:33)

通常你不这样做 - HttpContext是一个ASP.NET概念,除非你在启用ASP.NET兼容性的情况下运行它,否则不适用于WCF。

如果您希望当前用户使用WCF,请使用ServiceSecurityContext.Current.PrimaryIdentity或通过OperationContext获取安全上下文。

答案 1 :(得分:0)

实际上,在启用Asp.Net兼容模式的情况下,您可以从站点中托管的WCF服务访问HttpContext.Current.User。有关详细信息,请访问Microsoft网站:https://msdn.microsoft.com/en-us/library/aa702682(v=vs.110).aspx

如果您的服务托管在Asp.net网站上,您只需要更新您的web.config以设置aspNetCompatibilityEnabled =" true"在serviceHostingEnvironment元素:

public static void main(String[] args) {
        long sum = 0;
        int dimension = 3000;
        int i, j;
        int matrix[][] = new int[dimension][dimension];

        for (i = 0; i < dimension; i++) {
            for (j = 0; j < dimension; j++) {
                matrix[i][j] = 1; // Number you want to store, could be a scanner input
            }
        }

        for (i = 0; i < dimension; i++) {
            for (j = 0; j < dimension; j++) {
                sum = sum + matrix[i][j];
            }
        }

        System.out.println(sum);
    }