1

我已经构建了一个 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, IDictionary2 childTypes, IDictionary 1.CreateMetadataAndQueryProviders 2 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.DataService1.HandleRequest() 在 System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody) 在 SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] ) 在 System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[ ] 在 System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) 的输入,Object[]& 输出) ) 在 System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

我通过在服务器上的默认网站下创建一个 Web 应用程序并将我的文件直接复制到文件夹中来进行部署。同一位置的 .aspx 页面按预期工作。

我发现了这篇文章,这表明服务器上没有正确的 DLL 文件是一个问题。除了特定于我的服务的 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

我已经用尽了我有限的知识和我认为相当不错的搜索能力,所以如果有人能指导我正确的方向,我将不胜感激。

谢谢!

4

1 回答 1

4

为什么 System.Spatial 有不同的版本?请确保 System.Spatial 的版本也是 5.0.0.50808。那应该可以解决问题。

基本上,所有的程序集都应该是相同的版本。

于 2012-11-28T16:59:25.187 回答