当我尝试浏览我的网络服务时,我收到了解析器错误。
已经找到了这么多答案,但没有人帮助过我。如果有人可以引导我找到一个我可能忽略的有用链接,那将会有很大的帮助。
以下是该方案:
我在IIS 7.5上托管的VS-2010(框架4.0)内置了Web服务,它使用“ASP.NET v4.0 Classic”应用程序池。这曾经工作正常,直到我重新安装它。它开始显示以下错误
分析程序错误
说明:解析为此请求提供服务所需的资源时发生错误。请查看以下特定的解析错误详细信息并适当修改源文件。
分析程序错误消息:无法创建类型“AuthenticateUser”。
来源错误:
第1行:<%@ WebService语言=“C#” CodeBehind =“〜/ App_Code / AuthenticateUser.cs”Class =“AuthenticateUser” %GT;
源文件: /WebService101/Services/AuthenticateUser.asmx 行: 1
版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.1016
请帮助。
答案 0 :(得分:13)
请检查您的所有dll是否都存在于Web服务文件夹中。我能够在一个名为“Beyond Compare”的工具的帮助下找到它。我把Web服务目录的旧工作副本与新服务目录进行了比较。
答案 1 :(得分:13)
我遇到了同样的错误,在我的案例中,决议是在.asmx文件中使用完全限定类名(带名称空间的类名)。
<%@ WebService Language="C#" CodeBehind="~/App_Code/AuthenticateUser.cs" Class="AuthenticateUser" %>
会变成
<%@ WebService Language="C#" CodeBehind="~/App_Code/AuthenticateUser.cs" Class="MyProjectName.AuthenticateUser" %>
答案 2 :(得分:13)
另外,请检查以确保构建输出路径仅限于“bin”文件夹。如果Web服务项目被困在“bin \ Debug \ AnyCPU”或“bin \ Release \ x86”下,则无法使用生成的DLL文件。
一位同事和我花了2个小时试图让一个Web服务项目在一台在旧机器上完美运行的新工作站上工作。
希望此技巧可以帮助其他人使用Google!
答案 3 :(得分:1)
我遇到了这个问题,我在网上喋喋不休,并在网上进行了大量的研究。这基本上是因为文件和类必须是同一个名称,即我从其他地方剪切了代码,并且该类被称为fileUploader。该文件名为fileuploader.ashx。
所以,这就是造成我问题的原因。当我将类重命名为fileuploader时,它工作得很好。哈啊!几天浪费了!
答案 4 :(得分:0)
删除网站/ Tokhin / part 像这样:
然后它会工作..
答案 5 :(得分:0)
问题是ASP正在寻找一个名为AuthenticateUser的类,但找不到它。
在Visual Studio中,右键单击Web服务文件(AuthenticateUser.asmx),然后选择“查看标记”。这将使您找到错误所在的asmx文件的第1行。看这行的结尾。在您的示例中,
Line 1: <%@ WebService Language="C#" CodeBehind="~/App_Code/AuthenticateUser.cs" Class="AuthenticateUser" %>
检查以确保该类与您为您的Web服务指定的公共类名称匹配。换句话说,创建此文件后,您是否将该类重命名为“ AuthenticateUser”或其他名称?有时,第1行中提到的类与您在webservice asmx文件中为该类提供的名称不匹配。
要解决此问题,Web服务开头的行应与第1行中提到的类相匹配,如下所示:
Public Class AuthenticateUser
...your webservice code here...
End Class