我想在现有的asp.net web窗体应用程序中创建一个web服务,但它不工作。下面的代码描述服务:添加一个Web服务(ASMX)到现有的asp.net窗体网站
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class TestService: System.Web.Services.WebService {
public TestService() {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public string HelloWorld(string name) {
return "Hello " + name;
}
}
当我尝试测试这个Web服务,浏览器尝试下载服务,而不是执行它的:
另外,如果我尝试引用另一个项目的服务,我收到以下错误:
url http://localhost:64925/services/TestService.asmx
上的文档未被识别为已知文档类型。 从每个已知类型的错误消息可能会帮助您解决问题: - 从XML架构“的报告是'的文档格式不能识别(内容类型是文本/ html;字符集= UTF-8
我的猜测是,这与'服务'目录没有正确配置有关,但如果将服务添加到网站的根目录,我会得到同样的问题。
我尝试过aspnet_regiis .Net 2 我使用Visual Studio 2012和IIS快递。
更新: 看来,该网站也被引用的SharePoint Web服务,我刚才发现的错误的详细信息如下奇怪的消息:
有下载http://localhost:64925/services/TestService.asmx/_vti_bin/ListData.svc/$metadata
错误。 请求失败,HTTP状态404:未找到。
正如它所说,这是无法识别的内容类型。因此,类型'asmx'没有在IIS中正确注册,所以当浏览器请求链接时,服务器认为'这到底是什么 - 我将它作为一个纯文件',因此下载。 – Stevo
@Stevo谢谢,但我该如何解决它与IIS Express运行Visual Studio 2012? – philreed
不幸的是我不能提供具体的指导(因为我不知道)。我首先看看IIS配置。正如你所说的那样,它可以在网站外的全新Web服务上运行,并且工作正常,所以IIS配置中的某些内容无法正常工作。我会查看现有站点与现有设备之间的差异,并逐一查找故障查找设置。对不起,我无法提供更多帮助。 – Stevo