Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Web服务调用的类中的C#私有变量不起作用?_C#_.net_Web Services_Client Side_Private Members - Fatal编程技术网

通过Web服务调用的类中的C#私有变量不起作用?

通过Web服务调用的类中的C#私有变量不起作用?,c#,.net,web-services,client-side,private-members,C#,.net,Web Services,Client Side,Private Members,我正在尝试找出什么用户正在调用我的web服务。为此,我希望传入Environment.UserName。然而,如果它只是一个字符串,那么任何编写自己的客户机的人都可以输入“asdf”并绕过我试图做的事情。因此在我的Web服务中声明了一个公共类: public class UserInfo { private string userName; public UserInfo() { userName = Environment.UserDomainName

我正在尝试找出什么用户正在调用我的web服务。为此,我希望传入Environment.UserName。然而,如果它只是一个字符串,那么任何编写自己的客户机的人都可以输入“asdf”并绕过我试图做的事情。因此在我的Web服务中声明了一个公共类:

public class UserInfo
{
    private string userName;

    public UserInfo()
    {
        userName = Environment.UserDomainName + "/" + Environment.UserName + " on " + Environment.MachineName;
    }
    public string getUserName()
    {
        return userName;
    }
}
现在当我打电话时:

ClientTest.ServiceReference.UserInfo user = new ClientTest.ServiceReference.UserInfo();
在我的客户机中,我认为它可以获取我的信息(“我的计算机上的域/我”)。事实并非如此。web服务将获取其信息(“ServerComputer上的NT授权/网络服务”)


是否需要修改我的代码以使其正常工作?这在我的解决方案中是可能的吗?有更好的方法吗?

我认为环境不是您想要使用的。看起来您所做的只是获取服务运行的域、用户名和计算机,而不是试图访问服务的用户


我相信你想要的是目标。这使您可以访问有关HTTP客户端的信息。

我认为环境不是您想要使用的。看起来您所做的只是获取服务运行的域、用户名和计算机,而不是试图访问服务的用户


我相信你想要的是目标。这使您可以访问有关HTTP客户端的信息。

这是一个在用户本地pc上运行的windows应用程序客户端?是的,这是一个在pc上运行的windows应用程序。它连接到我的Web服务。我现在可以控制双方,但由于它是一个web服务,我将来可能可以控制客户端。哈,这在我的最后一个问题中得到了正确的回答:在服务器上使用HttpContext.Current.User(一旦验证)这是一个在用户本地pc上运行的windows应用程序客户端?是,这是电脑上的windows应用程序。它连接到我的Web服务。我现在可以控制双方,但由于它是一个web服务,我将来可能可以控制客户端。哈,我在最后一个问题中正确地回答了这个问题:在服务器上使用HttpContext.Current.User(一旦经过身份验证)