在AutoEventWireUp设置为false的情况下查看Web服务asmx索引页

时间:2018-08-21 07:52:59

标签: c# asp.net .net ajax web-services

我们的VS解决方案具有两个(一组)Web服务,一个在单独的项目中供外部使用,另一个在主Web应用程序项目中供内部Ajax使用。我已经意识到,给定.asmx URL的浏览器中显示的索引页仅适用于单独项目中的Web服务。在像WebService Studio这样的应用程序中使用它也是如此。但是,在使用Web应用程序时,它确实可以调用WS,只是无法单独访问它,这使测试变得复杂。

区别在于,由于性能原因,在仅WS的项目中有AutoEventWireup="true",而在Web应用程序的项目中没有。如果我在任何一个项目中更改了这些值,它将启动/停止工作。

我已经阅读了AutoEventWireup属性,但是无法理解为什么会产生这种效果。我注意到它可以在单个ASP 页面控件上进行设置,当然,也可以通过设置所需事件的委托人来手动处理。但是,对于 Web服务,没有此类属性,也没有可以设置的OnLoad或OnInit事件。

有人负责解决这个问题吗?

调试时,抛出的异常在.Net Framework配置文件中:

c:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\DefaultWsdlHelpGenerator.aspx

其中的集合serviceDescriptions在称为FindHttpBinding的方法中使用时为null。因此看来,aspx页面依赖于将AutoEventWireup设置为true来触发其Page_Load事件。当然,可以在我的硬盘上更改有问题的文件,但这不是服务器的切实可行的解决方案,它是标准框架文件。

0 个答案:

没有答案