2012-02-03 106 views
0

通过从SessionStateStoreProviderBase继承来实现SqlSessionStateStore。创建dll并将dll放入bin文件夹(因为我无法使用MS Visual Web Developer 2010 Express将它注册到GAC中)。创建SQL会话状态存储

并在web.config中添加下面的会话状态配置设置。

<sessionState 
     cookieless="true" 
     regenerateExpiredSessionId="true" 
     mode="Custom"  
     customProvider="SqlSessionProvider"> 
     <providers> 
     <add name="SqlSessionProvider" 
      type="Sample.AspNet.Session.SqlSessionStateStore" 
      connectionString="SqlConnenctionString"    
      writeExceptionToEventLog="false"/> 
     </providers> 
    </sessionState> 

现在我得到这个错误。

解析器错误消息:无法加载类型'Sample.AspNet.Session.SqlSessionStateStore'。 源错误:

Line 15:  <providers> 
Line 16:   <add name="SqlSessionProvider" 
Line 17:    type="Sample.AspNet.Session.SqlSessionStateStore" 
Line 18:    connectionString="SqlConnenctionString"    
Line 19:    writeExceptionToEventLog="false"/> 

任何一个能帮助我此错误的原因。

+0

为什么你把SqlSessionStateStore的实施在一个单独的dll? – 2012-02-03 12:56:18

回答

1

在被明显的风险

  1. 你有到Sample.AspNet.Session.SqlSessionStateStore住
  2. 你能需要进一步验证命名空间的引用,这就是为什么它不能找到它
  3. 我相信你没有这样做,但如果你已经从一个参考网站复制代码,那么它可能是,你只是保持Sample.AspNet.Session.SqlSessionStateStore ref当它不' t存在于任何地方,事实上它只是样板代码

基本上它无法找到您的自定义提供一个参考 - 所以你需要确保网站可以看到它

+0

这就是我将dll复制到bin文件夹的原因,同时我也设置了引用。然后它给出了相同的错误。 – sameer 2012-02-03 13:16:59