Skip to main content
 首页 » 编程设计

c#之Webservice IIS 和权限 401 错误

2024年01月12日27birdshome

我有一个我不明白的问题

我在两个不同的位置有一个 Web 服务(不是 WCF),我的本地主机和我们的开发服务器。

我的本​​地主机正在运行

XP SP3 IIS 5.1

开发服务器正在运行

window 服务器 2003 SP 2 IIS 6.0

IIS 中的目录安全性是匿名访问和集成 Windows 身份验证

我的问题是当我从 VS2010 中运行以下代码时

Dim ws As RunExternalProcess.ProcessExecution = New RunExternalProcess.ProcessExecution 
ws.Timeout = Convert.ToInt32(ConfigurationManager.GetConfigurationValue(KEY_VALUE_PROCESS_TIMEOUT_MILLISECONDS)) 
ws.ExecuteProcess (BusinessClasses.RunExternalProcess.enuProcessType.EFTCreateFile, PROC_POST, strParameters) 

当网络服务指向开发服务器时,它运行良好。当指向我的本地时,我收到 HTTP 401 错误

如果我添加行

 ws.Credentials = System.Net.CredentialCache.DefaultCredentials 

它适合我的本地人。在我部署它之前我需要回答的问题是,如果它今天可以正常访问开发 Web 服务,为什么我需要凭据行。我的本地有什么不同?

有什么想法吗?

请您参考如下方法:

您可能不允许 anonymous access对于您的本地服务器。

默认情况下,客户端会复制您的 Internet Explorer 的凭据/代理设置,因此您可能也想检查一下。