在Visual Studio C#中开发WebService,并从单独的VS解决方案中调用它
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Visual Studio C#中开发WebService,并从单独的VS解决方案中调用它相关的知识,希望对你有一定的参考价值。
我在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服务。这可能吗?
您可以运行2个Visual Studio实例并同时启动每个应用程序(Web和桌面)。
如果您没有本地IIS,则唯一的选择是:
1.-将Web服务代码安装到新项目中 2.-运行该项目并使其保持运行 3.-复制浏览器中显示的URL localhost:port .... 4.-转到第二个项目并添加新的服务引用并粘贴之前的URL副本 5.-您现在可以使用您的Web服务
我店里有人建议第二个答案。那就是将Web服务项目和调用项目放在同一个解决方案中。有一种方法可以在解决方案打开时设置两个项目。这样,两者都在同一时间运行。 右键单击解决方案属性,启动项目,您有一个用于多个启动项目的单选按钮。您可以按照自己的方式订购。
以上是关于在Visual Studio C#中开发WebService,并从单独的VS解决方案中调用它的主要内容,如果未能解决你的问题,请参考以下文章
哪些C语言函数在visual studio2015报错并怎么修改