我有一个 asp.net 4.0 应用程序,其中包含一个 Web 服务,用于通过 ajax 呈现一些数据。我通过脚本引用将服务附加到我的脚本管理器。我的网站受表单身份验证保护。
<ajaxtoolkit:toolkitscriptmanager id="ScriptManager1" runat="server" enableviewstate="false"
asyncpostbacktimeout="3600" scriptmode="Auto" enablepagemethods="true" CombineScripts="true" EnableCdn="true" >
<Services>
<asp:ServiceReference Path="~/WebServices/PortalWebService.asmx" />
</Services>
</ajaxtoolkit:toolkitscriptmanager>
当我尝试使用 javascript 调用 webservice 方法并且我的身份验证票仍然有效时,一切都很好,我的回复非常好。但是,如果在调用 javascript 时我的身份验证票已过期,那么服务器会弹出一个窗口,要求我进行身份验证。
服务器正在响应基本身份验证的 401 请求!当您输入有效信息时,它只会再次弹出窗口。
我在我的服务方法调用中附加了一个错误处理程序,并在提示用户输入一个不起作用的窗口后触发它。我该如何解决?它需要向 onerror 处理程序报告错误或重定向用户(这不太可能发生)。