gpt4 book ai didi

asp.net - 无法从 web.config 引用自定义事件

转载 作者:行者123 更新时间:2023-12-01 01:38:13 25 4
gpt4 key购买 nike

我写了一个自定义事件 MyWebErrorEvent源自 WebErrorEvent位于我的 ASP.NET 2.0 网站项目的 App_Code 文件夹中。类(class)MyWebErrorEvent不包含在命名空间中。我已将以下内容放入我的 web.config 文件中:

<configuration>
<system.web>
<healthMonitoring>
<eventMappings>
<add name="Event1" startEventCode="0" endEventCode="2147483647" type="MyWebErrorEvent"/>
</eventMappings>
</healthMonitoring>
</system.web>
</configuration>

在编译时和运行时,我收到以下错误:
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Could not load type 'MyWebErrorEvent'.

Source Error:

Line 16: <healthMonitoring>
Line 17: <eventMappings>
Line 18: <add name="Event1" startEventCode="0" endEventCode="2147483647" type="MyWebErrorEvent"/>
Line 19: </eventMappings>
Line 20: </healthMonitoring>

MyWebErrorEvent 类确实编译没有错误。有人知道怎么修这个东西吗?

编辑: http://msdn.microsoft.com/en-us/library/bb398933.aspx说这应该适用于自定义事件。报价:

Add the assembly that contains the custom Web event implementation to the Bin subdirectory of the ASP.NET application. Alternatively, you can add the event source code file to the App_Code subdirectory.



但是它也说这不适用于自定义事件提供程序:

Put the assembly that contains the custom provider implementation in the application's Bin subdirectory. You cannot put the provider source code file in the App_Code subdirectory, because the health monitoring system is configured and created before any code files in the App_Code subdirectory are compiled.



我猜关于自定义事件的文档实际上是不正确的,它们必须进入与网站不同的汇编。

最佳答案

(这里只是猜测……)

对于网站,App_Code 中的类直到运行时才会被编译。您的 Web.config 在 MyWebErrorEvent 有机会被动态编译之前被编译。最好的办法是与网站分开创建一个类库,并从您的网站引用项目。另一种选择是转换为使用 Web 应用程序,它实际上在编译时将所有类型编译为一个 DLL,而不是在运行时动态发出它们。

关于asp.net - 无法从 web.config 引用自定义事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/484237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com