IIS express提供一个.asmx服务,但总是在另一个上返回404

时间:2016-04-19 00:02:20

标签: asp.net visual-studio visual-studio-2015 asmx iis-express

我将旧的解决方案升级到Visual Studio 2015,并且遇到了其中一个.asmx Web服务的问题。我在这个解决方案中有很多它们,IIS表示加载并正确运行它们,除了一个。如果我尝试在IIS express中加载.asmx URL,则此服务始终返回404。它在完整的IIS中正确运行。

我在网上发现的问题都没有解决我的情况。以下是详细信息:

  1. 工作和非工作Web服务的web.config文件是相同的。
  2. IIS express / .csproj配置完全相同,但端口和项目名称以及一些不同的程序集引用除外。
  3. 项目几乎完全相同,只有一个.asmx服务文件,后面有.asmx.cs和.asmx.resx文件。
  4. C:\ Users [我的用户名] \ IIS Express \ config \ applicationhost.config没有列出任何有效或无效的服务,因此无法区别。
  5. 检查来自C:\ Users [我的用户名] \ IIS Express \ TraceLogFiles [service] \ fr000040.xml的完整跟踪,查看有关工作和非工作服务的请求,它们实际上是相同的,直到步骤109,AspNetMapHandlerEnter 。工作服务在步骤110直接进入AspNetMapHandlerLeave,其中非工作服务设置一些缓存头,然后在步骤112将状态代码设置为404,其上带有“警告”标签。
  6. 我不确定这里发生了什么或接下来我能做些什么,所以我们非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

我通过基本上创建一个新项目并导入所有旧文件来解决它。当项目无效时,IIS express必须在某处缓存某些内容,并通过重新创建程序集信息来强制刷新。