【发布时间】:2017-04-27 21:33:45
【问题描述】:
我已经开始学习使用 ASP.NET 的 Web 服务。在快速搜索如何构建和使用一个简单的 Web 服务时,this 页面看起来既漂亮又简单。
我按照说明“在 IIS 虚拟目录中复制 FirstService.asmx...[并] 打开 Web 服务”(实际上,它显示为 FirstService.asmx.cs),但从那里开始出现问题。我遇到了几个 HTTP 错误(正如 here 所解释的那样,我授予了 IUSR 和 IIS_USRS 的权限,尽管后者可能无关紧要),我现在遇到了错误 404.7。
我尝试了这两个(1,2)SO 帖子的建议(所以我现在在我的文件夹中有第二个文件,一个Web.config 文件,尽管上面链接的网站没有提及Web.config文件),没有任何帮助。
请注意,我还按照this 页面向 IIS 注册了正确版本的 ASP.NET。
还有其他选择吗?
编辑:
Windows 7 Ultimate(64 位)、IIS 7.5
完全错误(请原谅图形):
错误摘要
HTTP 错误 404.7 - 未找到请求过滤 模块配置为拒绝文件扩展名。
详细的错误信息
模块:RequestFilteringModule
通知:BeginRequest
处理程序:静态文件
错误代码:0x00000000
请求的网址:http://localhost:80/MyWebServices/WebService1.asmx.cs
物理路径:C:\Users\home\Desktop\MyWebServices\WebService1.asmx.cs
登录方式:尚未确定
登录用户:尚未确定
我的Web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<fileExtensions allowUnlisted="true">
<remove fileExtension="." />
<add fileExtension="." allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
</configuration>
【问题讨论】:
-
请在您的问题中发布实际的完整错误和您的实际配置(Windows 版本、IIS 版本、XML 配置)。此外,该教程没有日期是有原因的:它至少有 10 年的历史。转储 ASMX 并使用 ASP.NET Web API 或 WCF。
-
谢谢,已添加编辑。我当然会最终转向 Web API和 WCF,但我喜欢了解基础知识并了解仍在使用的技术(至少在大企业中),例如 ASMX。跨度>
标签: asp.net web-services iis