IIS中的Web服务部署?

Paw*_*anS 4 c# asp.net soap wsdl web-services

我开始学习Web服务.我学习了Web服务,UDDI,WSDL,SOAP等以及Web服务的体系结构.Visual Studio正在本地系统中成功运行该服务.

然后我在IIS wwwroot中部署了该Web服务的整个文件夹,并进行了测试.它运行成功.

但是当我从wwwroot\webService1文件夹中删除其他文件时(我只留下了service1.asmxbin文件夹),那么服务也在运行.

在这里我看到,只有两个文件在ruuning web服务之一是使用的.asmx,另一个是webService.dll文件夹中.

我无法理解运行Web服务所需的SOAP,WSDL,命名空间或其他内容.

请澄清.

Das*_*cal 6

SOAP,WSDL,Namespace都由IIS和ASP.NET处理.在您的方案中,您的Web服务端点是您的asmx文件(部署中不需要.cs文件),bin文件夹中的DLL包含您为Web服务编写的代码(因此它可以执行某些操作).

如果您在Web浏览器中调用Web服务,则应该看到列出的Web方法以进行测试.IIS知道如何处理*.asmx文件来执行此操作.如果单击一个,您应该看到一个示例表单(如果需要输入参数)和一个按钮.IIS再次知道如何为您服务.当您单击该按钮时,IIS和ASP.NET将处理SOAPing您的请求,使用您的代码处理它以及将响应SOAP回复给您的工作.

如果在Visual Studio中创建"测试"项目,并设置指向已部署的Web服务的Web服务引用,Visual Studio将创建一个代理类,并从其发现的服务中引入一些其他代码.试试吧.您至少应该得到:一个定义Web服务的WSDL,一个名为reference.cs的文件,其中包含调用Web服务的繁重代码(从应用程序中提取SOAP请求并从响应中取消).

如果您下载了一个名为Fiddler的工具,您应该能够拦截并检查对您的Web服务的SOAP调用.

有关其他信息,请查看使用ASP.NET的Web服务.