好吧,這看起來像一個非常簡單的問題,但我似乎無法解決它。我幾乎99%肯定這是Visual Studio本身的問題,但我希望能夠快速進行完整性檢查。配置問題Web.Config/Custom Providers
我正在爲Asp.Net中的Health Monitoring創建一個自定義提供程序。我做了一個從BufferedWebEventProvider繼承的非常簡單的提供者。該代碼位於我的網站的App_Code目錄和如下:
Public Class SQLApplicationExceptionProvider
Inherits System.Web.Management.BufferedWebEventProvider
Public Overrides Sub Initialize(ByVal name As String, ByVal config As System.Collections.Specialized.NameValueCollection)
MyBase.Initialize(name, config)
End Sub
Public Overrides Sub ProcessEvent(ByVal eventRaised As System.Web.Management.WebBaseEvent)
MyBase.ProcessEvent(eventRaised)
End Sub
Public Overrides Sub ProcessEventFlush(ByVal flushInfo As System.Web.Management.WebEventBufferFlushInfo)
End Sub
Public Overrides Sub Shutdown()
Me.Flush()
End Sub
End Class
而且在web.config如下。
<healthMonitoring enabled="true" heartbeatInterval="100" >
<providers>
<add name="DBSExceptionProvider" type="SQLApplicationExceptionProvider"
buffer="true" bufferMode="RegularNotification" />
</providers>
<rules>
<add name="DBSErrors" eventName="All Errors" provider="DBSExceptionProvider"
profile="Critical" />
</rules>
<bufferModes>
<add name="RegularNotification" maxBufferSize="10" maxFlushSize="5"
urgentFlushThreshold="2" regularFlushInterval="Infinite"
urgentFlushInterval="00:00:30" />
</bufferModes>
<profiles>
<add name="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" />
<add name="Critical" minInstances="1" maxLimit="Infinite" minInterval="00:00:00" />
</profiles>
</healthMonitoring>
每當我嘗試編譯,我得到這個錯誤:
Error 2 Could not load type 'SQLApplicationExceptionProvider'.
Path\web.config 90
我使用類型(即使它不應該被要求)的全稱考慮,但由於這是一個網站(而不是一個Web應用程序)我不知道這是什麼類型。
我完全同意,但我得到由VS喜歡放到一個網站項目的增加「設計師」的文件有點懊惱。我不確定是否有一個標準網站在編譯時會創建一個可預測的名稱空間。 – Nathan 2009-06-16 12:06:19
在一個web應用程序項目中,可能有多少.designer.cs文件並不重要,因爲它們都被編譯到應用程序的單個程序集中。我對網站「項目」的理解(可能有缺陷)是他們不使用名稱空間。對於網站開發人員來說,命名空間顯然太複雜了,因爲想到那些造成這種混亂的微軟的人。 – 2009-06-16 12:37:57
但是,請使用對象瀏覽器來查看是否可以找到您的班級,並瞭解它的名稱空間。對象瀏覽器具有您可能會覺得有幫助的搜索功能。 – 2009-06-16 12:39:07