我已经构建了一个WCF数据服务,当我在我的开发机器上运行它时可以工作,但是当我将它移动到在Azure上运行的Windows 2008 VM时,当我尝试导航到.svc URL时出现以下错误:
请求错误
服务器在处理请求时遇到错误。异常消息是'System.Data.Services.Providers.ResourceType'的类型初始化程序引发异常。'。请参阅服务器日志以获取更多详异常堆栈跟踪是:at System.Data.Services.Providers.ResourceType.get_PrimitiveResourceTypeMap()at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata(IDictionary
2 knownTypes, IDictionary
2 childTypes,IDictionary2 entitySets) at System.Data.Services.Providers.BaseServiceProvider.LoadMetadata() at System.Data.Services.DataService
1.CreateMetadataAndQueryProviders(IDataServiceMetadataProvider& ; System.Data.Services.DataService1.CreateProvider() at System.Data.Services.DataService
处的SystemProviderInstance,IDataServiceQueryProvider& queryProviderInstance,BaseServiceProvider& builtInProvider,Object& dataSourceInstance}。在System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody)处的1.HandleRequest() System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin中的System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(对象实例,对象[]输入,对象[]和输出)中的SyncInvokeProcessRequestForMessage(Object,Object [],Object [])(MessageRpc& ; rpc)位于System.ServiceModel.Dispatcher.ImmutableDispatchRuntim的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) e.ProcessMessage31(MessageRpc&安培; rpc)at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
我通过在服务器上的默认网站下创建Web应用程序并将我的文件直接复制到该文件夹来进行部署。位于同一位置的.aspx页面按预期工作。
我发现this帖子,这表明在服务器上没有正确的DLL文件是一个问题。我的bin文件夹除了特定于我的服务之外还包含以下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
我已经耗尽了我有限的知识以及我认为非常好的搜索能力,所以如果有人能够直接引导我,那将是值得赞赏的。
谢谢!
答案 0 :(得分:4)
为什么System.Spatial的版本不同?请确保System.Spatial的版本也是5.0.0.50808。这应该可以解决问题。
基本上,所有程序集都应该是相同的版本。