我最近刚从共享主机切换到 GoDaddy 上的 vps。我有一个在共享主机上运行良好的网络服务。我试图让它在我的 vps 下工作。转到链接时,我不断收到 500 - 内部错误。
我确实将它设置为 IIS 中的应用程序,并使用集成管道创建了自己的应用程序池。
关于其他可能导致此问题的任何想法?
编辑1:如果我将我的应用程序池切换为使用与我的站点相同的应用程序池,我会收到此错误:“解析器错误描述:解析服务此请求所需的资源时出错。请查看以下内容特定的解析错误详细信息并适当地修改您的源文件。
解析器错误消息:页面必须有 <%@ webservice class="MyNamespace.MyClass" ... %> 指令。
源错误:
第1行:这是预编译工具生成的标记文件,不要删除!
源文件:/webservices/namesearch.asmx 行:1"
这是我的 web.config
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<!--
The <authentication> section enables configuration
of the security authentication mode used by
ASP.NET to identify an incoming user.
-->
<authentication mode="Windows"/>
<customErrors mode="Off"/>
<!--
The <customErrors> section enables configuration
of what to do if/when an unhandled error occurs
during the execution of a request. Specifically,
it enables developers to configure html error pages
to be displayed in place of a error stack trace.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID"/>
</system.web>
<!--
The system.webServer section is required for running ASP.NET AJAX under Internet
Information Services 7.0. It is not necessary for previous version of IIS.
-->
</configuration>
编辑2:所以我注意到那个解析器错误也说“源错误:
第1行:这是预编译工具生成的标记文件,不应该删除!”
所以我试图对网络服务进行预编译。当我这样做时,我收到错误消息“使用注册为 allowDefinition='machinetoapplication' 的部分超出应用程序级别是错误的。此错误可能是由于虚拟目录未在 iis 中配置为应用程序造成的”