Я могу проверить эту службу отдыха в браузере на локальном хосте, но не в Интернете - PullRequest
0 голосов
/ 16 декабря 2011
 [OperationContract]
    [WebGet]

    public string GetImageStatusByName(string name)
    {
        panonestEntities context = new panonestEntities();
        var p = context.Panoramas.Where(x => x.ImageName.Equals(name)).FirstOrDefault();
        if (p != null)
        {
            return p.Status;
        }

        return "Analysing data";

    }

Если я пойду на http://localhost:1539/Services/getimagestatus.svc/GetImageStatusByName?name=800px-Equirectangular-projection Я получаю данные, возвращенные службой.

но если я опубликую свой сайт на http://mydomain/Services/getimagestatus.svc/GetImageStatusByName?name=800px-Equirectangular-projection Я получаю 404.

В обоих случаях, если я перехожу к http://mydomain/Services/getimagestatus.svc, я вижу, что сервис существует.

Моя проблема не в том, что я не могу перейти на него в браузере, а в том, что JQuery

function updateStatus() {
            $.get("../../Services/getimagestatus.svc/GetImageStatusByName?name=@ViewBag.showProgressFor",
            function (data) {
                if (data != null) {
                    if (data.d != last) {
                        $('#progressList').append('<li>' + data.d + '</li>');
                    } else {
                        $('#progressdot').append('<b> . </b>');
                    }
                    last = data.d;
                    if (data.d == "Done") {

                        $("#status").hide();
                        $("#result").show();
                    }
                }
            });

работает только на локальном хосте! При загрузке на сервер он больше не работает

1 Ответ

0 голосов
/ 16 декабря 2011

Загляните в свой веб-инспектор и посмотрите, какой путь он действительно пытается загрузить.

Я догадываюсь, что проблема заключается в добавлении вашего пути к "../../". Веб-сервер на вашем локальном хосте, вероятно, видит и либо правильно обрабатывает, либо отбрасывает этот обход каталога, а ваш производственный сервер этого не делает.

Вместо этого просто попробуйте один ведущий слеш, который всегда относительно текущего домена.

$.get("/Services/getimagestatus.svc/GetImageStatusByName...", ...)

Это должно работать на локальном хосте или на вашем домене.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...