サイトが実稼働環境にプッシュされたときに例外を取得する
-
06-07-2019 - |
質問
これはおそらく暗闇でのショットですが、ここには何もありません...
Localltyを開発しているSitecore 6サイトがあります。実稼働サーバーにプッシュすると、サイトにアクセスしようとすると例外が発生します。 Sitecoreバージョンのアップグレードを行い、Formsモジュールを追加しました。そのため、すべてを実稼働環境に移動し、接続文字列を変更し、web.configのディレクトリ参照を変更しましたが、このエラーは引き続き発生します。
ローカルマシンは引き続き正常に動作し、ステージングサーバー(SVNおよびCruise Controlを介して接続)も正常に動作しますが、実稼働環境ではこのエラーを修正できません。
スタックトレースの下部(以下)で、検索マネージャーをインスタンス化しようとしているようです。多分それは何か関係があるのでしょうか?
または、すべてを移動したときに設定を見逃したのでしょうか?環境が変わったときにどの設定を変更する必要がありますか?
これまでに試したことは次のとおりです。
- すべてのファイルとデータベースを再コピーしました。
- ワーカープロセス、ASPNET、およびネットワークサービスユーザーにフルコントロールのアクセス許可を与えます。
- 設定が必要なweb.configのディレクトリパスを再確認しました。
- connectionstring.configの接続文字列をダブルチェックしました。
- アプリプールのリサイクル
- サイトの停止と開始
- ローカルブラウザーのキャッシュをクリアしました(アップグレードドキュメントで行うよう指示されているため)
これは、任意のページにアクセスしようとしたときにスローされる例外です:
スレッド情報: スレッドID:1 スレッドアカウント名:180716WEB1 \ testcom_web なりすまし:偽 スタックトレース:System.RuntimeMethodHandle._InvokeMethodFast(Object target、Object [] arguments、SignatureStruct& sig、MethodAttributes methodAttributes、RuntimeTypeHandle typeOwner) System.RuntimeMethodHandle.InvokeMethodFast(Object target、Object [] arguments、Signature sig、MethodAttributes methodAttributes、RuntimeTypeHandle typeOwner)で System.Reflection.RuntimeMethodInfo.Invokeで(オブジェクトobj、BindingFlags invokeAttr、バインダーバインダー、Object []パラメーター、CultureInfoカルチャ、ブール値skipVisibilityChecks) System.Reflection.RuntimeMethodInfo.Invokeで(オブジェクトobj、BindingFlags invokeAttr、バインダーバインダー、Object []パラメーター、CultureInfoカルチャ) System.Reflection.RuntimePropertyInfo.SetValue(オブジェクトobj、オブジェクト値、BindingFlags invokeAttr、バインダーバインダー、Object []インデックス、CultureInfoカルチャ) System.Reflection.RuntimePropertyInfo.SetValue(Object obj、Object value、Object [] index)で Sitecore.Reflection.ReflectionUtil.SetProperty(Object obj、PropertyInfo property、Object value)で Sitecore.Reflection.ReflectionUtil.SetProperty(Object obj、String name、Object value)で Sitecore.Configuration.Factory.AssignProperties(Object obj、Object [] properties)で Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode、String [] parameters、Object obj、Boolean assert、Boolean deferred、IFactoryHelperヘルパー) Sitecore.Configuration.Factory.CreateObject(XmlNode configNode、String [] parameters、Boolean assert、IFactoryHelperヘルパー) Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode、String [] parameters、Boolean assert)で Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode、String [] parameters、Object obj、Boolean assert、Boolean deferred、IFactoryHelperヘルパー) Sitecore.Configuration.Factory.CreateObject(XmlNode configNode、String [] parameters、Boolean assert、IFactoryHelperヘルパー) Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode、String [] parameters、Boolean assert)で Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode、String [] parameters、Object obj、Boolean assert、Boolean deferred、IFactoryHelperヘルパー) Sitecで
解決 2
データベースを本番環境に復元したときに、データベースユーザーと再関連付けされなかったことが判明しました!!!バカな私!何らかの理由で、このエラーが発生します。 SearchManagerは、何かを抽象化するための何らかの外部サービスまたは何かとして設定されていると推測しています。
他のヒント
環境間でサイトを移動した後にこのエラーが発生しました。原因は、 dataFolder という名前の sc.variable のパスが間違っていたためです。値は完全なファイルパスであり、サイトは新しいサーバーの別の場所にありました。
<sc.variable name="dataFolder" value="c:\www\website\data\" />
正しいパスでweb.configを更新すると、問題が修正されました。