Получение окна проверки подлинности браузера после вызова вызова веб-службы Json - PullRequest
0 голосов
/ 30 августа 2011

Вот мой код для вызова веб-службы со стороны кода клиента

$.ajax(
                    {
                        type: "POST",
                        url: "counter.asmx/IncreaseCounter",
                        data: "{}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: LogoutSuccess,
                        error: AjaxFailed
                    }
                   );

На моем локальном компьютере это работает правильно, но после развертывания производства во время вызова службы появляется всплывающее окно проверки подлинности браузера, которое не позволяет мне продолжить. Я хочу избавиться от этого всплывающего окна аутентификации, когда веб-сервис вызывается с веб-страницы моего сайта.

Означает, что я не хочу никакой аутентификации для этого веб-сервиса.

После некоторого Google я добавил ниже узел в моем файле web.config, но все же он запрашивает у меня учетные данные

<system.web.extensions>
    <scripting>
      <webServices>
        <authenticationService  enabled="false" />
      </webServices>
    </scripting>
  </system.web.extensions>

Пожалуйста, предложите мне решение, вот мой код веб-службы

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
 [System.Web.Script.Services.ScriptService]
public class counter : System.Web.Services.WebService
{

    public counter()
    {

        //Uncomment the following line if using designed components 
        //InitializeComponent(); 
    }

    [WebMethod(Description = "Per session Hit Counter", EnableSession = true)]
    public void IncreaseCounter(string PostURL)
    {
       string url=  HttpUtility.UrlDecode(PostURL);
       DBAdministrator.IncreasePostVisitCount(url);
    }
}

1 Ответ

0 голосов
/ 30 августа 2011

Это очень странно;либо страница, и ваш сервис должны требовать аутентификации, либо ни того, ни другого.

Поскольку вы используете относительные URL-адреса, при загрузке страницы уже должно появиться окно аутентификации.После этого у пользователя должен быть сеанс.

Проверьте две вещи:

  1. Что нет конкретной ручной настройки для URL-адреса службы (например, в прокси междубраузер и сервер и т. д.).
  2. WsiProfiles.BasicProfile1_1 заставляет меня задуматься ... что означает константа?«Базовый» звучит как «базовая схема аутентификации».Проверьте, есть ли другие значения, которые вы можете использовать.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...