我在我正在处理的 Intranet 站点的几个地方使用 Web 方法,它们工作正常,但是每次我尝试访问 Web 方法时,一个页面都会不断抛出 HTTP 401 错误。
我不知道如何解决这个问题,我已经尝试用 web 方法评论所有内容,但仍然出现 401 错误,即使是在SELECT 1
使用分析器查看数据库时,即使是刚刚连接到数据库的基本连接也没有显示出来。
我的 web.config 对于 Intranet 中的所有页面都是相同的,与使用 web 方法的页面相比,我看不出我的 ASP.Net 页面有任何差异。
谁能告诉我为什么仅此页面而不是其他页面会发生这种情况?还有我怎样才能解决这个问题?
ASP.Net 代码(从按钮的 OnClientClick 调用)
function SendEmails()
{
var Grid = document.getElementById("instructorGrid");
var mailBody = document.getElementById("txtMailBody");
var ddlDutyPeriod = document.getElementById("DDL_DutyPeriods");
var cell = Grid.rows[i].cells;
var HTML = cell[0].innerHTML;
var chkBox = cell[5].innerHTML;
PageMethods.TestMethod()
}
脚本管理器
<asp:ScriptManager ID="ScriptManager1"
runat="server"
EnableScriptGlobalization="true"
EnablePageMethods="true"
EnableScriptLocalization="true">
</asp:ScriptManager>
VB.Net 代码
<System.Web.Services.WebMethod()>
Public Shared Sub TestMethod()
'Dim conn1 As New SqlConnection(ConfigurationManager.ConnectionStrings("Blueprint").ToString())
'Dim cmd2 As New SqlCommand
'cmd2.CommandType = CommandType.Text
'cmd2.CommandText = "SELECT 1"
'cmd2.Connection = conn1
'conn1.Open()
'cmd2.ExecuteNonQuery()
'conn1.Close()
End Sub
提琴手结果
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Not Authorized</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Not Authorized</h2>
<hr><p>HTTP Error 401. The requested resource requires user authentication.</p>
</BODY></HTML>
更新:
我曾尝试在此链接http://support.microsoft.com/kb/306158中的一半代码中使用模拟用户,但是我不能这样做,因为该方法是一种网络方法。
我还尝试按照下面的建议在 web.config 中添加对我的登录页面的匿名访问,但这也没有帮助