Как отлаживать веб-службу?

Я использую визуальную студию, и у меня есть приложение asp.net как один проект, а веб-сервис - как другой проект. Я использую веб-службу в своем приложении asp.net. Есть какая-то проблема в моем коде webservice. Но я не могу непрерывно отлаживать приложение asp.net на веб-службу. Я поставил точку останова как в приложении, так и в веб-службе, но точка останова не активирована в веб-службе, и это показывает мне соединение error.How можно сделать это во время хостинга на localhost?

Ответ 1

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

Вы можете сделать это, щелкнув правой кнопкой мыши проект веб-сервиса, Debug → Запустить новый экземпляр

Ответ 2

Вы должны приложить отладчик к w3wp (процесс IIS).

Вот ссылка , которая может вам помочь.

Ответ 3

Если вы хотите отладить в локальной системе, вы можете установить несколько запущенных проектов. Вы можете установить несколько запусков по свойствам Solution. Надеемся на эту помощь.

Ответ 4

Работает ли веб-служба на удаленном компьютере, если вам нужно настроить удаленный отладчик для веб-службы.

Ответ 5

Попробуйте отладить сам сервис и посмотреть, попадает ли он на точку останова. Просто установите проект, в котором в нем есть сервис, который будет основным проектом и установите сервис в качестве главной стартовой страницы.

Если он не попал в точку останова, он, вероятно, не загрузил все символы. Это произойдет, если проект установлен, скажем, Release Configuration, а не Debug.

Ответ 6

Можете ли вы проверить, что вы добавили ссылку "Сервис" на свой веб-сервис или нет, вы не можете получить доступ к своей функции веб-сервиса. Я использую веб-сервис в своем проекте, как это ниже

это мой код веб-службы

[WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 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 JsonData : System.Web.Services.WebService
    {

        [WebMethod(Description = "")]
        [ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
        public StateData[] GetStateByCountryID(int ID)
        {
            StateData objStateData = new StateData();
            LMGDAL.db_LMGEntities dbData = new db_LMGEntities();                
            var data = (from con in dbData.tblStates
                        where con.State_CountryID == ID
                        select new StateData
                        {
                            StateID = con.StateID,
                            StateName = con.StateName
                        }).ToList();
            return data.ToArray();
        }

затем добавьте ссылку на службу в мою веб-форму asp.net

этот код в моей форме

<script type="text/javascript">
    $(function () {

        $("#ddlCountry").change(function () {
            var countryID = $("#ddlCountry").val();
            $.ajax({
                type: "POST",
                url: "JsonData.asmx/GetStateByCountryID",
                contentType: "application/json; charset=utf-8",
                dataType: 'json',
                data: '{ID:"' + countryID + '"}',
                success: function (msg) {
                    var data = msg.d;
                    var stateData = "";
                    $.each(data, function (index, itemdata) {
                        stateData += "<option  value='" + itemdata.StateID + "' > " + itemdata.StateName + " </option>";
                    });
                    $("#ddlState").empty();
                    $("#ddlState").append("<option value='0'>-Select State-</option>");

                    $("#ddlState").append(stateData);
                },
                error: function () {
                    alert('Faild To Retrieve States.');
                }
            });
        });

Я думаю, это поможет вам