веб-сервис c # .net - PullRequest
       14

веб-сервис c # .net

3 голосов
/ 01 февраля 2010

Я хочу создать простой веб-сервис, и я хочу вызвать этот веб-сервис из клиентской программы, используя c # .netПоскольку я новичок, мне трудно это делать.Кто-нибудь может помочь.

Спасибо ...

Ответы [ 5 ]

4 голосов
/ 01 февраля 2010

Создать файл с расширением asmx. Укажите свою функцию, которая должна быть представлена, как [WebMethod].

[WebMethod]
public string HelloWorld()
{
    return "Hello World";
}

из вашего другого приложения добавьте веб-ссылку на созданную в настоящий момент страницу asmx. Из этой ссылки вы сможете вызвать нужную функцию.

2 голосов
/ 01 февраля 2010

Если вы только изучаете веб-сервисы, я бы не рекомендовал идти по маршруту ASMX / WebService / WebMethod Эта функциональность была заменена WCF.

Учебное пособие по началу работы с WCF

WCF 101 (очень простой пример)

0 голосов
/ 04 июня 2019

  [WebMethod]
        public string LatinicaUCirilicu(string latin)
        {
            string rec = "";
            string slovo;
            string duplo;

            for (int i = 0; i < latin.Length; i++)
            {
                if (i < latin.Length - 1)
                {
                    duplo = latin.Substring(i, 2);
                    switch (duplo)
                    {
                        case "lj": rec += "љ"; i++; break;
                        case "LJ": rec += "Љ"; i++; break;
                        case "Lj": rec += "Љ"; i++; break;
                        case "lJ": rec += "љ"; i++; break;
                        case "nj": rec += "њ"; i++; break;
                        case "NJ": rec += "Њ"; i++; break;
                        case "Nj": rec += "Њ"; i++; break;
                        case "nJ": rec += "њ"; i++; break;
                        case "dž": rec += "џ"; i++; break;
                        case "DŽ": rec += "Џ"; i++; break;
                        case "Dž": rec += "Џ"; i++; break;
                        case "dŽ": rec += "џ"; i++; break;
                        default: slovo = Convert.ToString(latin[i]);
                            switch (slovo)
                            {
                                case "a": rec += "a"; break;
                                case "b": rec += "б"; break;
                                case "c": rec += "ц"; break;
                                case "č": rec += "ч"; break;
                                case "ć": rec += "ћ"; break;
                                case "d": rec += "д"; break;
                                case "đ": rec += "ђ"; break;
                                case "e": rec += "е"; break;
                                case "f": rec += "ф"; break;
                                case "g": rec += "г"; break;
                                case "h": rec += "х"; break;
                                case "i": rec += "и"; break;
                                case "j": rec += "ј"; break;
                                case "k": rec += "к"; break;
                                case "l": rec += "л"; break;
                                case "m": rec += "м"; break;
                                case "n": rec += "н"; break;
                                case "o": rec += "о"; break;
                                case "p": rec += "п"; break;
                                case "r": rec += "р"; break;
                                case "s": rec += "с"; break;
                                case "š": rec += "ш"; break;
                                case "t": rec += "т"; break;
                                case "u": rec += "у"; break;
                                case "v": rec += "в"; break;
                                case "z": rec += "з"; break;
                                case "ž": rec += "ж"; break;
                                case "A": rec += "А"; break;
                                case "B": rec += "Б"; break;
                                case "C": rec += "Ц"; break;
                                case "Č": rec += "Ч"; break;
                                case "Ć": rec += "Ћ"; break;
                                case "D": rec += "Д"; break;
                                case "Đ": rec += "Ђ"; break;
                                case "E": rec += "Е"; break;
                                case "F": rec += "Ф"; break;
                                case "G": rec += "Г"; break;
                                case "H": rec += "Х"; break;
                                case "I": rec += "И"; break;
                                case "J": rec += "Ј"; break;
                                case "K": rec += "К"; break;
                                case "L": rec += "Л"; break;
                                case "M": rec += "М"; break;
                                case "N": rec += "Н"; break;
                                case "O": rec += "О"; break;
                                case "P": rec += "П"; break;
                                case "R": rec += "Р"; break;
                                case "S": rec += "С"; break;
                                case "Š": rec += "Ш"; break;
                                case "T": rec += "Т"; break;
                                case "U": rec += "У"; break;
                                case "V": rec += "В"; break;
                                case "Z": rec += "З"; break;
                                case "Ž": rec += "Ж"; break;
                                default: rec += slovo; break;
                            } break;
                    }
                }
                if (i == latin.Length - 1)
                {
                    slovo = Convert.ToString(latin[i]);
                    switch (slovo)
                    {
                        case "a": rec += "a"; break;
                        case "b": rec += "б"; break;
                        case "c": rec += "ц"; break;
                        case "č": rec += "ч"; break;
                        case "ć": rec += "ћ"; break;
                        case "d": rec += "д"; break;
                        case "đ": rec += "ђ"; break;
                        case "e": rec += "е"; break;
                        case "f": rec += "ф"; break;
                        case "g": rec += "г"; break;
                        case "h": rec += "х"; break;
                        case "i": rec += "и"; break;
                        case "j": rec += "ј"; break;
                        case "k": rec += "к"; break;
                        case "l": rec += "л"; break;
                        case "m": rec += "м"; break;
                        case "n": rec += "н"; break;
                        case "o": rec += "о"; break;
                        case "p": rec += "п"; break;
                        case "r": rec += "р"; break;
                        case "s": rec += "с"; break;
                        case "š": rec += "ш"; break;
                        case "t": rec += "т"; break;
                        case "u": rec += "у"; break;
                        case "v": rec += "в"; break;
                        case "z": rec += "з"; break;
                        case "ž": rec += "ж"; break;
                        case "A": rec += "А"; break;
                        case "B": rec += "Б"; break;
                        case "C": rec += "Ц"; break;
                        case "Č": rec += "Ч"; break;
                        case "Ć": rec += "Ћ"; break;
                        case "D": rec += "Д"; break;
                        case "Đ": rec += "Ђ"; break;
                        case "E": rec += "Е"; break;
                        case "F": rec += "Ф"; break;
                        case "G": rec += "Г"; break;
                        case "H": rec += "Х"; break;
                        case "I": rec += "И"; break;
                        case "J": rec += "Ј"; break;
                        case "K": rec += "К"; break;
                        case "L": rec += "Л"; break;
                        case "M": rec += "М"; break;
                        case "N": rec += "Н"; break;
                        case "O": rec += "О"; break;
                        case "P": rec += "П"; break;
                        case "R": rec += "Р"; break;
                        case "S": rec += "С"; break;
                        case "Š": rec += "Ш"; break;
                        case "T": rec += "Т"; break;
                        case "U": rec += "У"; break;
                        case "V": rec += "В"; break;
                        case "Z": rec += "З"; break;
                        case "Ž": rec += "Ж"; break;
                        default: rec += slovo; break;
                    } break;
                }

                
            }
            return rec;
        }

        [WebMethod]
        public string CirilicaULatinicu(string ciril)
        {
            string rec = "";
            string slovo;
            for (int i = 0; i < ciril.Length; i++)
            {
                slovo = Convert.ToString(ciril[i]);
                switch (slovo)
                {
                    case "а": rec += "a"; break;
                    case "б": rec += "b"; break;
                    case "ц": rec += "c"; break;
                    case "ч": rec += "č"; break;
                    case "ћ": rec += "ć"; break;
                    case "д": rec += "d"; break;
                    case "џ": rec += "dž"; break;
                    case "ђ": rec += "đ"; break;
                    case "е": rec += "e"; break;
                    case "ф": rec += "f"; break;
                    case "г": rec += "g"; break;
                    case "х": rec += "h"; break;
                    case "и": rec += "i"; break;
                    case "ј": rec += "j"; break;
                    case "к": rec += "k"; break;
                    case "л": rec += "l"; break;
                    case "љ": rec += "lj"; break;
                    case "м": rec += "m"; break;
                    case "н": rec += "n"; break;
                    case "њ": rec += "nj"; break;
                    case "о": rec += "o"; break;
                    case "п": rec += "p"; break;
                    case "р": rec += "r"; break;
                    case "с": rec += "s"; break;
                    case "ш": rec += "š"; break;
                    case "т": rec += "t"; break;
                    case "у": rec += "u"; break;
                    case "в": rec += "v"; break;
                    case "з": rec += "z"; break;
                    case "ж": rec += "ž"; break;
                    case "А": rec += "A"; break;
                    case "Б": rec += "B"; break;
                    case "Ц": rec += "C"; break;
                    case "Ч": rec += "Č"; break;
                    case "Ћ": rec += "Ć"; break;
                    case "Д": rec += "D"; break;
                    case "Џ": rec += "Dž"; break;
                    case "Ђ": rec += "Đ"; break;
                    case "Е": rec += "E"; break;
                    case "Ф": rec += "F"; break;
                    case "Г": rec += "G"; break;
                    case "Х": rec += "H"; break;
                    case "И": rec += "I"; break;
                    case "Ј": rec += "J"; break;
                    case "К": rec += "K"; break;
                    case "Л": rec += "L"; break;
                    case "Љ": rec += "Lj"; break;
                    case "М": rec += "M"; break;
                    case "Н": rec += "N"; break;
                    case "Њ": rec += "Nj"; break;
                    case "О": rec += "O"; break;
                    case "П": rec += "P"; break;
                    case "Р": rec += "R"; break;
                    case "С": rec += "S"; break;
                    case "Ш": rec += "Š"; break;
                    case "Т": rec += "T"; break;
                    case "У": rec += "U"; break;
                    case "В": rec += "V"; break;
                    case "З": rec += "Z"; break;
                    case "Ж": rec += "Ž"; break;
                    default: rec += slovo; break;
                }
            }
            return rec;
        }
    } 
}
//    try
//    {
//        Service1 prevod = new Service1();

//        string rezultat = prevod.LatinicaUCirilicu(TextBox1.Text);
//        Label3.Text = rezultat;

//        TextBox2.Text = "";
//        Label4.Text = "";
//    }
//    catch (Exception ex)
//    {
//        Response.Write(ex.Message);
//    }
//}

//protected void Button2_Click(object sender, EventArgs e)
//{
//    try
//    {
//        Service1 prevod = new Service1();

//        string rezultat = prevod.CirilicaULatinicu(TextBox2.Text);
//        Label4.Text = rezultat;

//        TextBox1.Text = "";
//        Label3.Text = "";
//    }
//    catch (Exception ex)
//    {
//        Response.Write(ex.Message);
//    }
//}
0 голосов
/ 01 февраля 2010

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

Для создания веб-службы я подумал, что использовать Google App Engine будет проще всего. Это бесплатно, и довольно легко понять и использовать даже для начинающих. У них тоже много уроков. Их хранилище данных также легко использовать. Вы должны написать свой код в шаблонах Python + Django или Java, и хотя я никогда раньше не использовал python или django, я нашел их на удивление быстрыми и легкими для изучения основ. Для этого также есть плагин Eclipse.

Из того, что я видел, вы создаете структуру URL-адресов ваших ресурсов (данных, к которым вы хотите получить доступ из веб-службы. Например, / planets / earth. Эти URL-адреса сопоставляются с WebRequestHandlers в коде приложений Google. В своем коде вы «обрабатываете» сообщение от какого-либо клиента с помощью одного из методов HTTP, таких как GET или POST. В зависимости от метода вы выполняете некоторую задачу программирования для подготовки данных, а затем отправляете ответ. Например, возможно, вы настройте его так, чтобы вы возвращали диаметр земли, когда вы кого-то ПОЛУЧАЕТЕ /planets/earth.

Затем в своем приложении вы можете отправлять и получать материалы из своего веб-сервиса, используя System.Net.HttpWebRequest . Это та часть, которую я никогда не выполнял, но я думаю, что вы просто создаете и создаете экземпляр HttpWebRequest, передаете ему соответствующую информацию, такую ​​как URL, метод, данные для отправки и т. Д., А затем отправляете веб-запрос. Вы получаете ответ и что-то делаете с ним в своей программе.

Хорошо, это обзор того, что я нашел до сих пор, и я надеюсь, что это полезно (и не неправильно)!

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