मैं इंट्रानेट साइट पर काम करने वाले कुछ स्थानों में वेब विधियों का उपयोग करता हूं और वे ठीक काम करते हैं, हालांकि एक बार जब भी मैं एक्सेस करने का प्रयास करता हूं तो एक पृष्ठ लगातार HTTP 401 त्रुटि फेंक रहा है वेब विधि।VB.Net वेब विधि HTTP401 को अधिकृत त्रुटि नहीं
मुझे यकीन नहीं है कि इस समस्या को कैसे अपनाना है, मैंने वेब विधि से सबकुछ टिप्पणी करने का प्रयास किया है, और अभी भी 401 त्रुटि प्राप्त है, यहां तक कि डेटाबेस के लिए मूल कनेक्ट भी SELECT 1
दिखाता है जब मैं डीबी देखता हूं प्रोफाइलर के साथ।
मेरा वेब.कॉन्फिग इंट्रानेट के सभी पृष्ठों के लिए समान है और मैं उन पृष्ठों की तुलना में अपने एएसपी.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 में नीचे नाम से कार्य तथापि मैं नहीं कर सकते कि विधि एक webmethod है के बाद से कर उपयोग करने की कोशिश की है।
मैं भी नीचे के रूप में सुझाव दिया web.config में मेरी प्रवेश पृष्ठ पर अनाम पहुंच जोड़ने की कोशिश की है, लेकिन यह भी
क्या आईआईएस के पास उस फ़ाइल तक पहुंच अधिकार है जिसका आप उपयोग करने का प्रयास कर रहे हैं। (एनटीएफएस-स्तर का उपयोग)। चूंकि सेवा आईआईएस द्वारा चलायी जाती है, आपको एप्लिकेशन पूल उपयोगकर्ता (या उपयोगकर्ता) तक पहुंच प्रदान करने की आवश्यकता होगी। पूर्ण पहुंच के साथ IIS_IUSRS समूह जोड़ने का प्रयास करें। – Nicholas