C#-在Visual Studio外部执行应用程序时出现问题

C#-在Visual Studio外部执行应用程序时出现问题,c#,C#,我在应用程序中执行实现时遇到问题。我有一些可以在VisualStudio中正常工作、运行和访问其信息的Web服务 例如,可以通过IE访问与webservices地址的连接,并且服务是正常的 我在应用程序中执行可执行文件,当它试图访问Web服务时,我得到403(禁止)错误 凭据是正常的,因为触发错误的行是在身份验证完成后使用webservice的方法时 即使在应用程序中以管理员权限运行,也会显示相同的错误。并且WCF服务由本地管理员用户运行 我已经尝试在使用该方法的同一范围内请求,但未成功 pri

我在应用程序中执行实现时遇到问题。我有一些可以在VisualStudio中正常工作、运行和访问其信息的Web服务

例如,可以通过IE访问与webservices地址的连接,并且服务是正常的

我在应用程序中执行可执行文件,当它试图访问Web服务时,我得到403(禁止)错误

凭据是正常的,因为触发错误的行是在身份验证完成后使用webservice的方法时

即使在应用程序中以管理员权限运行,也会显示相同的错误。并且WCF服务由本地管理员用户运行

我已经尝试在使用该方法的同一范围内请求,但未成功

private SI_Out_SyncClient WebserviceConnection ()
{

    BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);

    binding.MaxBufferSize = 2147483647;
    binding.MaxReceivedMessageSize = 2147483647;

    binding.CloseTimeout = new TimeSpan(1, 5, 0);
    binding.OpenTimeout = new TimeSpan(1, 5, 0);
    binding.SendTimeout = new TimeSpan(1, 5, 0);

    binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
    binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.Basic;

    EndpointAddress address = new EndpointAddress(Library.Environment.GetGlobalString("ENDPOINT"));

    var client = new SI_Out_SyncClient(binding, address);

    client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
    client.ClientCredentials.UserName.UserName = Library.Environment.GetGlobalString("USER");
    client.ClientCredentials.UserName.Password = Library.Environment.GetGlobalString("PASSWORD");

    return client;
}
我希望在应用程序中运行,就像在调试中运行一样,但要以正确的方式运行,而无需将调试编译模式设置为true


提前谢谢

我知道发生了什么事

在我的例子中,运行WCF服务的管理员用户没有访问internet


这是一个愚蠢的错误,但值得注册,因为我在研究中没有找到这样的方向。

尝试访问fiddler中的服务,看看如何解决身份验证问题。如果它正在执行NTLM或kerberos,您可能必须在客户端执行相同的操作。