非常に奇妙な問題に直面しています。IIS 6.1 でホストされている Silverlight 5 アプリケーションにエンティティ フレームワーク 4 と ria サービスを使用しています。長期間、すべてがスムーズに実行されていますが、アプリケーションが失敗し、イベント ログに次のエラー メッセージが記録されることがあります。
WebHost は要求を処理できませんでした。
送信者情報: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/56703158
例外: System.ServiceModel.ServiceActivationException: コンパイル中の例外のため、サービス '/Services/EcoFleet-DomainServices-Repository-EcofleetRepository.svc' をアクティブ化できません。
例外メッセージは次のとおりです。DomainService 'EcofleetRepository' のエンティティ 'DeviceData' にはキーが定義されていません。DomainService 操作によって公開されるエンティティ タイプには、KeyAttribute でマークされたパブリック プロパティが少なくとも 1 つ必要です。DomainService 操作によって公開されるエンティティ タイプには、KeyAttribute でマークされたパブリック プロパティが少なくとも 1 つ必要です。
System.ServiceModel.DomainServices.Server.DomainServiceDescription.ValidateEntityTypes()
で System.ServiceModel.DomainServices.Server.DomainServiceDescription.Initialize()
で System.ServiceModel.DomainServices.Server.DomainServiceDescription。
System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func
2 valueFactory で)
System.ServiceModel.DomainServices.Server.DomainServiceDescription.GetDescription (型 domainServiceType)
で System.ServiceModel.DomainServices.Hosting.DomainServiceHost..ctor (型 domainServiceType、Uri[] baseAddresses)
でSystem.ServiceModel.DomainServices.Hosting.DomainServiceHostFactory.CreateServiceHost(Type serviceType, Uri[] baseAddresses)
で System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)
で System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService( String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity)
で System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
--- 内部例外スタック トレースの終わり ---
System.Runtime で.AsyncResult.End[TAsyncResult](IAsyncResult 結果)
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult 結果) プロセス名: w3wp
プロセス ID: 2300
アプリケーションは引き続き応答しますが、サーバーからエンティティをロードできません。サイトを停止して開始すると、すべてが再び機能します。
この場合のエンティティ (DeviceData) はデータベース テーブルであり、キーを持っていますが、どのエンティティが失敗するかはランダムに見えます。さらに、コンパイル時に「キーが定義されていません」というエラーが表示されることしか期待できません。誰が問題が何であるか、そしてそれを修正する方法についての手がかりを持っていますか?