为什么IIS拒绝我的Code.Behind标签?

时间:2011-10-06 13:45:14

标签: c# asp.net web-services iis

我创建了一个小型的Web服务,我在Visual Studio Development Server中运行它并且运行正常。然后我决定将它(仍然通过Visual Studio)运行到IIS

在我从asmx标记中的Webservice元素中删除Code.Behind属性之前,我的Web服务拒绝工作。现在它运行完美。

有人可以向我解释原因吗?

编辑:拒绝工作,我的意思是我有一个错误页面,说明它有This page must have a <%@ webservice class ... %> directive。至于“代码在哪里”,我有一个包含该行的标记,以及包含类实现的asmx.cs文件。请记住,这段代码是有效的,现在没有元素也可以工作,所以VSDS和IIS之间的行为差​​异让我感到困惑。

1 个答案:

答案 0 :(得分:1)

在运行时不使用页面或webservice指令中使用的CodeBehind属性。它仅由Visual Studio使用,因此它知道关联的.cs或.vb文件。

Web服务的class属性或页面的继承告诉它在运行时使用的类。如果它是一个网站而不是一个Web项目,那么在运行时使用代码文件来查找该页面的相关代码。

错误消息可以帮助您找出问题所在。