我已经无计可施了。我正在尝试使用 asp.net ajax 扩展工具包中的自动完成扩展器,该扩展器是由沼泽标准 Web 服务填充的。该应用程序是一个 .net 3.5 网站,在子目录(真实的,而不是虚拟的)中托管 Web 服务。
每当我尝试发布到网络服务时,都会收到以下错误: 不允许使用 HTTP 动词 POST 来访问路径“/Workarea/webservices/FindAdvisorNameService.asmx/FindAdvisorName”。
让事情变得更复杂的是,我的一位同事拉下了解决方案并且可以正常运行。
谷歌搜索后,似乎 URL 重写存在一些问题,所以我让他尝试使用我的 web.config ——他仍然没有问题,而我仍然没有成功。
有人对可能发生的事情有任何想法,或者从哪里开始寻找吗?
让事情变得复杂的是,这是一个 <a href="http://www.ektron.com">Ektron CMS400.Net</a>
解决方案,但他安装了与我相同版本的 Ektron。该项目最近从 2.0 升级到 3.5 框架,但在他的机器上仍然是 3.5。
我已经检查了 IIS 映射,ASMX 文件允许使用 GET、POST 和 DEBUG。
帮助我,Obi-Wan KeSObi,你是我唯一的希望!
编辑:哦,是的,让事情复杂化的是,这是我拥有的一台全新机器,所以注册表中不太可能有那么多奇怪的东西,等等。同事的机器几乎和新的一样.
最佳答案
好的,在同事的帮助下发现了这个问题。似乎 Ektron CMS 在 IIS 中添加了映射 - 它映射 * 到 aspnet_isapi.dll。这覆盖了所有其他映射。我删除了它,现在一切正常了。
关于asp.net - 在 .net 3.5 解决方案中发布到 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/128570/