将我的代码上传到iis服务器,并将HTTP规则添加到https。我的数据库类库在http:// ....中给出了一些错误,因为我使用了NHibernate并且它的sessionfactory无法加载。项目架构
-网站 -DB(类库) -Model(类库) -经理(类库)
它可以正常使用https,如果我不能激活https,那么它可以在http中工作,但是https不能在http中工作,因此它不会重定向到https。
我尝试了很多事情,发现关于DB Class库的路径是错误的,在我发布它的地方看起来是错误的路径。
private void ContextBeginRequest(object sender, EventArgs e)
{
foreach (ISessionFactory sessionFactory in ((ISessionFactoryProvider)this.app.Context.Application["NHibernateSessionFactoryProvider"]).GetSessionFactories())
{
LazySessionContext.Bind(new Lazy<ISession>((Func<ISession>)(() => NHibernateSessionModule.BeginSession(sessionFactory))), sessionFactory);
}
}
“ /”应用程序中的服务器错误。
给定的键在词典中不存在。 说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。
异常详细信息:System.Collections.Generic.KeyNotFoundException: 字典中不存在给定的键。
源错误:
在执行过程中生成了未处理的异常 当前的Web请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。
堆栈跟踪:
[KeyNotFoundException:给定的密钥不存在于 字典。]
SCP.Data.NHibernate.Base.NHibernateSessionModule.ContextEndRequest(对象 发送者,EventArgs e)位于C:\ Users \ Adesso2 \ Desktop \ New 文件夹\ SCP \ SCP.Data \ NHibernate \ Base \ NHibernateSessionModule.cs:50
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +136 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep步骤)+195 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步骤,布尔值和已同步完成)+88