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

标签 c# visual-studio web-services testing

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

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>

到目前为止,还不错。网页成功调用web服务,web服务返回成功生成的值。

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

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

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

最佳答案

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

关于c# - 在 Visual Studio C# 中开发 WebService,并从单独的 VS 解决方案中调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54694727/

相关文章:

C# UNICODE 到 ANSI 转换

c# - 整个 Controller 类中可用的 ASP.NET Core 路由属性

c# - 如何在Web.Config中完全摆脱customErrors?

c++ - 无法在 Windows 7 64 位上安装 CUDA Toolkit 9.1.85

.net - 面向 .NET 2.0 的 VS2008 并没有阻止我使用 C# 3 功能

C# Visual Studio - 找不到 Microsoft.VisualBasic.PowerPacks.Vs

c# - Unity3d,当前选择的脚本后端(.NET)未安装

Java Web 服务使用 JMeter 进行负载测试

java - 使用 QName 的目的

使用 ResourceBundle(locale.properties) 的 Java 本地化文本 Web 服务