我的ASP.NET 2.0应用程序HTTPWebRequest在公司内部网中创建一个站点,该站点使用NTLM身份验证.传递的凭据是针对服务帐户的,该帐户已在域上成功进行身份验证(安全日志确认此情况)
一些缩写代码如下..
HttpWebRequest req = WebRequest.Create(queryUrl) as HttpWebRequest;
NetworkCredential cred = new NetworkCredential(username,
pwd, domain);
req.Credentials = cred;
HttpWebResponse response = req.GetResponse() as HttpWebResponse;
Run Code Online (Sandbox Code Playgroud)
作为请求的一部分,有一些重定向(在同一个域内)到最终响应 - 在我的开发机器上处理正常(Windows 2k)
当从我的部署环境(Windows 2k3)创建此请求时,我从站点返回401 Unauthorized错误,似乎在返回第一个重定向代码(301 Moved)之后,我的请求对象尝试遵循重定向.
所以基本上,有没有人知道围绕重定向的经过身份验证的HttpWebRequests的任何问题?
PS - 明显的解决方法是简单地请求重定向到的页面 - 但负责内部网站点的管理员希望通过重定向我通过特定页面来监控我的应用程序的使用情况.
我的ASP.NET 2.0 Web应用程序包含一个Web服务,它会抛出各种异常以及自定义错误消息(例如"您无权访问此项目"等).这些在ASP.NET AJAX回调处理程序中显示在屏幕上.
应用程序的其余部分由一些自定义错误页面覆盖,在web.config中以通常的方式指定.
<customErrors mode="RemoteOnly" defaultRedirect="Error.html">
<error statusCode="404" redirect="NotFound.html" />
<error statusCode="403" redirect="NoAccess.html" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)
我的问题是如果我在web.config中启用了customErrors,我丢失了从Web服务返回的错误消息 - 而是替换为
"处理请求时出错" - 这对我或用户来说都不是很有用.
有没有办法只为Web服务关闭自定义错误?