站点投入生产时出现异常
这可能是在黑暗中拍摄的,但没有任何结果...
我有一个正在本地开发的 Sitecore 6 网站。当我将其推送到生产服务器时,我现在在尝试访问该站点时遇到异常。我对 Sitecore 版本进行了升级,并添加了表单模块,以及其他一些小的编辑。因此,我将所有内容都移至生产环境,更改了连接字符串,并更改了 web.config 中的目录引用,但我仍然收到此错误。
我的本地计算机仍然工作正常,甚至我的登台服务器(通过 SVN 和 Cruise Control 连接)也工作正常,但我无法在生产中修复此错误。
在堆栈跟踪的底部(如下),看起来它正在尝试实例化搜索管理器。也许这有什么关系?
或者也许我在移动所有内容时错过了某个设置?当环境改变时需要改变哪些设置?
这是我迄今为止尝试过的操作:
- 重新复制所有文件和数据库。
- 向工作进程、ASPNET 和网络服务用户授予完全控制权限。
- 仔细检查 web.config 中需要配置的目录路径。
- 仔细检查connectionstring.config中的连接字符串。
- 回收应用程序池
- 停止并启动网站
- 清除我的本地浏览器缓存(正如他们在升级文档中指示您执行的操作)
这是我尝试访问任何页面时引发的异常:
线程信息: 线程ID:1 线程帐户名:180716WEB1\testcom_web 是否冒充:假 堆栈跟踪:位于 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] argument, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) 在 System.RuntimeMethodHandle.InvokeMethodFast(对象目标,Object[] 参数,签名 sig,MethodAttributes methodAttributes,RuntimeTypeHandle typeOwner) 在System.Reflection.RuntimeMethodInfo.Invoke(对象obj,BindingFlags invokeAttr,Binder活页夹,Object []参数,CultureInfo文化,布尔skipVisibilityChecks) 在System.Reflection.RuntimeMethodInfo.Invoke(对象obj,BindingFlags invokeAttr,Binder活页夹,Object []参数,CultureInfo文化) 在System.Reflection.RuntimePropertyInfo.SetValue(对象obj,对象值,BindingFlags invokeAttr,活页夹活页夹,对象[]索引,CultureInfo文化) 在System.Reflection.RuntimePropertyInfo.SetValue(对象obj,对象值,对象[]索引) 在 Sitecore.Reflection.ReflectionUtil.SetProperty(对象 obj、PropertyInfo 属性、对象值) 在 Sitecore.Reflection.ReflectionUtil.SetProperty(对象 obj,字符串名称,对象值) 在 Sitecore.Configuration.Factory.AssignProperties(对象 obj,对象 [] 属性) 在 Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode、String[] 参数、对象 obj、布尔断言、布尔延迟、IFactoryHelper 帮助程序) 在 Sitecore.Configuration.Factory.CreateObject(XmlNode configNode、String[] 参数、布尔断言、IFactoryHelper 帮助程序) 在Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode,String []参数,布尔断言) 在 Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode、String[] 参数、对象 obj、布尔断言、布尔延迟、IFactoryHelper 帮助程序) 在 Sitecore.Configuration.Factory.CreateObject(XmlNode configNode、String[] 参数、布尔断言、IFactoryHelper 帮助程序) 在Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode,String []参数,布尔断言) 在 Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode、String[] 参数、对象 obj、布尔断言、布尔延迟、IFactoryHelper 帮助程序) 在 Sitecore.Configuration.Factory.CreateObject(XmlNode configNode、String[] 参数、布尔断言、IFactoryHelper 帮助器) 在 Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] 参数, 布尔断言) 在Sitecore.Configuration.Factory.CreateObject(字符串configPath,字符串[]参数,布尔断言) 在 Sitecore.Configuration.Factory.CreateObject(字符串 configPath,布尔断言) 在 Sitecore.Search.SearchManager..cctor()
自定义事件详细信息:
有关详细信息,请参阅帮助和支持中心 http://go.microsoft.com/fwlink/events.asp。
This is probably a shot in the dark but here goes nothing...
I have a Sitecore 6 site that I am developing locallty. When I pushed it to the production server, I now get an exception when trying to access the site. I had done an upgrade of the Sitecore version, and added the Forms module, among some other minor edits. So I moved everything to production, changed the connection strings, and changed the directory references in the web.config, but I still get this error.
My local machine still works fine, and even my staging server (hooked up via SVN and Cruise Control) works fine, but I can't fix this error on production.
At the bottom of the stack trace (below), it looks like it is trying to instantiate the search manager. Maybe that has something to do with it?
Or maybe I missed a setting when I moved everything? What settings need to be changed when the environment changes?
Here is what I've tried so far:
- Re-copied all of the files and databases.
- Gave full control permissions to the worker process, ASPNET, and Network Service users.
- Double checked the directory paths in the web.config that needed to be configured.
- Double checked the connection string in the connectionstring.config.
- Recycled the App Pool
- Stopped and started the site
- Cleared my local browser cache (as they instruct you to do in the upgrade docs)
This is the exception that is being thrown when I try and access any page:
Thread information:
Thread ID: 1
Thread account name: 180716WEB1\testcom_web
Is impersonating: False
Stack trace: at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, Object[] index)
at Sitecore.Reflection.ReflectionUtil.SetProperty(Object obj, PropertyInfo property, Object value)
at Sitecore.Reflection.ReflectionUtil.SetProperty(Object obj, String name, Object value)
at Sitecore.Configuration.Factory.AssignProperties(Object obj, Object[] properties)
at Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode, String[] parameters, Object obj, Boolean assert, Boolean deferred, IFactoryHelper helper)
at Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper)
at Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode, String[] parameters, Boolean assert)
at Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode, String[] parameters, Object obj, Boolean assert, Boolean deferred, IFactoryHelper helper)
at Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper)
at Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode, String[] parameters, Boolean assert)
at Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode, String[] parameters, Object obj, Boolean assert, Boolean deferred, IFactoryHelper helper)
at Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper)
at Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert)
at Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert)
at Sitecore.Configuration.Factory.CreateObject(String configPath, Boolean assert)
at Sitecore.Search.SearchManager..cctor()
Custom event details:
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
权利好像出了问题。
确保您在 AppPool 中运行正确的身份(网络服务),并遵循 Sitecore 安装说明(可在 SDN:
此致,
Alex de Groot
Sitecore 解决方案架构师
It seems that there's something wrong with rights.
Make sure that you run the right identity(NETWORK SERVICES) in your AppPool and that you follow the Sitecore Installation instructions which can be found on SDN:
Kind regards,
Alex de Groot
Sitecore Solution Architect
事实证明,当我将数据库恢复到生产环境时,它并没有将数据库用户与其重新关联!我真傻!无论出于何种原因,都会导致出现此错误。我猜测 SearchManager 被设置为某种外部服务或其他东西,以抽象事物。
It turned out to be that when I restored the database to production, it didn't re-associate the database user with it!!! Stupid me! For whatever reason, that causes this error to occur. I'm guessing that the SearchManager is setup as some sort of external service or something, to abstract things.
在环境之间移动站点后出现此错误。原因是名为 dataFolder 的 sc.variable 路径不正确。该值是完整的文件路径,并且该站点位于新服务器上的不同位置。
使用正确的路径更新 web.config 解决了问题。
I got this error after moving a site between environments. The cause was the path for the sc.variable named dataFolder was incorrect. The value was a full file path and the site was in a different location on the new server.
Updating the web.config with the correct path fixed the problem.