Разрабатывать WebService в Visual Studio C # и вызывать его из отдельного решения VS - PullRequest
0 голосов
/ 14 февраля 2019

Я разработал приложение в Visual Studio C #.Приложение готово.Теперь я хочу преобразовать приложение в веб-сервис, который будет вызываться другими приложениями в нашей очень большой сетевой установке.Я нахожусь на этапе, когда я учусь пользоваться веб-сервисом.Пока у меня есть простое веб-приложение типа HelloWorldToken в веб-сервисе. Решение.

public WebService () {}

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

[WebMethod]
public string webServiceAdd(int a, int b)
{
    int c = a + b;
    return " " + a + " + " + b + " = " + c;
}

[WebMethod]
public string HelloWorldToken(string Token)
{
    return "Hello World authToken = " + Token ;
}

Это работает, когда я его вызываюиз среды Visual Studio, а также работает с веб-страницы HTML.Тег «action» вызывает веб-сервис, и в форме есть скрытые поля, содержащие значения, которые необходимо передать.

     <form target="_blank" 
  action=http://localhost:51090/WebService.asmx/webServiceAdd
  method="POST">       
<tr>
    <td>
        Invoke Web Service <br />(from form)
        <input type="hidden" value="5" name="a" />
        <input type="hidden" value="4" name="b" />
        <input type="hidden" value="myUserName" name="usr" />
        <input type="hidden" value="myPassword" name="psw" />
        <input type="hidden" value="theToken" name="Token" />
    </td>
    <td align="left">
         <input type="submit" value="Invoke" class="button">
    </td>
</tr>

Пока все хорошо.Веб-страница успешно вызывает веб-службу, и веб-служба возвращает сгенерированное значение.

Однако в конечном итоге мне потребуется вызвать веб-службу из отдельного приложения C #.Но чтобы загрузить отдельный код вызова C #, я должен выгрузить код веб-службы Solution.Когда я выгружаю веб-сервис, он перестает работать.Никаких звонков на него не найдено.

У меня нет доступа к IIS на моем компьютере из-за правил установки (очень жесткий). Запуск Visual Studio 2017 Professional.

Мой запрос заключается в том, чтобы веб-служба работала на внутреннем сервере Visual Studio, а также тестировала другое приложение Visual Studio C # (в другомРешение) позвонить в веб-сервис.Это возможно ?

Ответы [ 3 ]

0 голосов
/ 14 февраля 2019

Если у вас нет локального IIS , ваш единственный выбор:

1.- Смонтируйте код веб-службы в новом проекте2.- Запустите этот проект и продолжайте его3.- Скопируйте URL localhost: port ..., который отображается в браузере4.- Перейдите ко второму проекту, добавьте новую ссылку на сервис и вставьте копию URL-адреса перед5.- Теперь вы можете использовать свой веб-сервис

0 голосов
/ 15 февраля 2019

Кто-то в моем магазине посоветовал второй ответ.То есть поместить проект веб-службы и вызывающий проект в ТО ЖЕ РЕШЕНИЕ.Существует способ настроить оба проекта на запуск при открытии решения.Таким образом, оба запускаются одновременно.
Щелкните правой кнопкой мыши свойства Solution, Startup Project, и у вас есть переключатель для нескольких запускаемых проектов.Вы можете заказать его так, как вы хотите.

0 голосов
/ 14 февраля 2019

Вы можете запустить 2 экземпляра Visual Studio и одновременно запустить каждое из приложений (веб-приложение и рабочий стол).

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