问题描述
|
我有一个我不明白的问题
我在两个不同的位置(我的本地主机和我们的开发服务器)有一个Web服务(不是WCF)。
我的本地主机正在运行
XP SP3
IIS 5.1
开发服务器正在运行
Windows Server 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)
将Web服务指向Dev服务器时,它运行良好。当指向我的本地计算机时,出现HTTP 401错误
如果我添加线
ws.Credentials = System.Net.CredentialCache.DefaultCredentials
对我的本地用户来说效果很好。在部署之前,我需要回答的问题是,如果今天可以很好地访问开发Web服务,为什么我需要凭据行。我的本地人又有什么不同呢?
有任何想法吗?
解决方法
您可能不允许本地服务器的匿名访问。
默认情况下,客户端会复制Internet Explorer的凭据/代理设置,因此您可能也要检查它们。
,我已经看到URL扫描也做一些奇怪的事情,如果您正在运行URL扫描,请检查这些设置是否阻止了它的访问。