ASMX Web服务仅在从浏览器单击调用时显示请求

时间:2012-06-19 19:43:56

标签: asp.net iis asmx

我有Web服务(在.net 4.0中开发)并在本地IIS 7.0中发布 当我进入浏览器时,我可以看到asmx调用操作。传递值并单击“invoke”时,我只获取请求的XML,但是传递的值为0,如下所示:

<H_Receptores xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://mywebsite.com/app">
<UserID>0</UserID>
<ReceptorID>0</ReceptorID>
</H_Receptores>

这应该是1和2的值(我在Web服务表单中输入的内容)。

我该怎么办,或者我在做什么?

顺便说一句,在Visual Studio 2010中,如果我右键单击并在浏览器上选择视图,它将在端口上打开一个本地开发临时IIS:41089,并且该操作非常有效。

1 个答案:

答案 0 :(得分:0)

首先,如果您使用的是.NET 4.0,为什么要创建ASMX服务。 ASMX是一项传统技术,仅支持向后兼容性。所有新的SOAP Web服务开发都应该使用WCF。

其次,不要担心它在浏览器中的工作原理!您不会从“帮助页面”调用该应用程序,是吗?为了测试您的服务,请创建某种形式的客户端以使用该服务。一个例子是创建一个小型控制台应用程序,使用“添加服务引用”来引用该服务,然后让consle应用程序调用该服务。

我发现为此目的使用单元测试项目BTW更方便,因为我可以创建一组测试并一次执行它们。