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