在Visual Studio C#中开发WebService,并从单独的VS解决方案中调用它

问题描述 投票:0回答:3

我在Visual Studio C#中开发了一个应用程序。该应用程序已完成。现在我想将应用程序转换为Web服务,以便在我们的大型网络安装中由其他应用程序调用。我正处于学习使用Web服务的阶段。到目前为止,我在Web服务解决方案中有一个简单的HelloWorldToken类型Web应用程序。

公共Web服务(){}

[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”标记调用Web服务,表单中有隐藏字段,其中包含要传递的值。

     <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>

到现在为止还挺好。 Web页面成功调用Web服务,Web服务返回成功生成的值。

但是,最终我需要从单独的C#应用​​程序调用Web服务。但是要加载单独的C#调用代码,我必须卸载Web服务代码解决方案。当我卸载Web服务时,它会停止运行。找不到任何调用。

由于安装规则(非常紧张),我无法访问计算机上的IIS。运行Visual Studio 2017 Professional。

我的要求是在Visual Studio内部服务器上运行Web服务,同时还测试不同的Visual Studio C#应用程序(在不同的解决方案中)以调用Web服务。这可能吗?

c# visual-studio web-services testing
3个回答
1
投票

您可以运行2个Visual Studio实例并同时启动每个应用程序(Web和桌面)。


0
投票

如果您没有本地IIS,则唯一的选择是:

1.-将Web服务代码安装到新项目中 2.-运行该项目并使其保持运行 3.-复制浏览器中显示的URL localhost:port .... 4.-转到第二个项目并添加新的服务引用并粘贴之前的URL副本 5.-您现在可以使用您的Web服务


0
投票

我店里有人建议第二个答案。那就是将Web服务项目和调用项目放在同一个解决方案中。有一种方法可以在解决方案打开时设置两个项目。这样,两者都在同一时间运行。 右键单击解决方案属性,启动项目,您有一个用于多个启动项目的单选按钮。您可以按照自己的方式订购。

© www.soinside.com 2019 - 2024. All rights reserved.