開発マシンで実行すると機能する WCF データ サービスを構築しましたが、それを Azure で実行されている Windows 2008 VM に移動すると、.svc URL に移動しようとすると次のエラーが発生します。
リクエスト エラー
サーバーでリクエストの処理中にエラーが発生しました。例外メッセージは、「'System.Data.Services.Providers.ResourceType' の型初期化子が例外をスローしました。」です。詳細については、サーバー ログを参照してください。例外スタック トレースは次のとおりです。System.Data.Services.Providers.ResourceType.get_PrimitiveResourceTypeMap() で System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata (IDictionary
2 knownTypes, IDictionary
2 childTypes、IDictionary 1.CreateMetadataAndQueryProviders2 entitySets) at System.Data.Services.Providers.BaseServiceProvider.LoadMetadata() at System.Data.Services.DataService
(IDataServiceMetadataProvider& metadataProviderInstance、IDataServiceQueryProvider& queryProviderInstance、BaseServiceProvider& builtInProvider、Object& dataSourceInstance) で.Data.Services.DataService1.CreateProvider() at System.Data.Services.DataService
1.HandleRequest() で System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody) で SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] ) で System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[ ] 入力、Object[]& 出力) System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) で System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) で System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) ) System.ServiceModel.Dispatcher.MessageRpc.Process (Boolean isOperationContextSet) で
サーバーのデフォルトの Web サイトの下に Web アプリケーションを作成し、ファイルをフォルダーに直接コピーしてデプロイしました。同じ場所にある .aspx ページは期待どおりに機能します。
この投稿を見つけました。これは、サーバーに適切な DLL ファイルがないことに問題があることを示唆しています。bin フォルダーには、サービス固有の DLL に加えて次の DLL が含まれていますが、それでも機能しません。
EntityFramework.dll 5.0.0.net40
Microsoft.Data.Edm.dll 5.0.0.50808
Microsoft.Data.OData.dll 5.0.0.50808
Microsoft.Data.Services.Client.dll 5.0.0.50808
Microsoft.Data.Services.dll 5.0.0.50808
System.Spatial.dll 5.0.2.50815
私は限られた知識とかなり優れた検索能力を使い果たしたので、誰かが私を正しい方向に導くことができれば幸いです.
ありがとう!