简体   繁体   English

WCF数据服务部署问题AZURE

[英]WCF Data Service deployment issues AZURE

Simular issue: WCF Data Service deployment issues 模拟问题: WCF数据服务部署问题

The server encountered an error processing the request. 服务器在处理请求时遇到错误。 The exception message is 'The type initializer for 'System.Data.Services.Providers.ResourceType' threw an exception.'. 异常消息是“ System.Data.Services.Providers.ResourceType的类型初始化程序引发异常”。 See server logs for more details. 有关更多详细信息,请参见服务器日志。 The exception stack trace is: 异常堆栈跟踪为:

at System.Data.Services.Providers.ResourceType.get_PrimitiveResourceTypeMap() at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata(IDictionary 2 knownTypes, IDictionary 2 childTypes, IDictionary 2 entitySets) at System.Data.Services.Providers.BaseServiceProvider.LoadMetadata() at System.Data.Services.DataService 1.CreateMetadataAndQueryProviders(IDataServiceMetadataProvider& metadataProviderInstance, IDataServiceQueryProvider& queryProviderInstance, BaseServiceProvider& builtInProvider, Object& dataSourceInstance) at System.Data.Services.DataService 1.CreateProvider() at System.Data.Services.DataService 1.HandleRequest() at System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody) at SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRp 在System.Data.Services.Providers.ResourceType.get_PrimitiveResourceTypeMap()在System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata(IDictionary的2 knownTypes, IDictionary 2个childTypes,IDictionary的2 entitySets) at System.Data.Services.Providers.BaseServiceProvider.LoadMetadata() at System.Data.Services.DataService 1.CreateMetadataAndQueryProviders(IDataServiceMetadataProvider&metadataProviderInstance,IDataServiceQueryProvider&queryProviderInstance,BaseServiceProvider&builtInProvider,Object&dataSourceInstance)的System.Data.Services.DataService 1.CreateProvider() at System.Data.Services.DataService位于System.Data.Services.DataService的1.CreateProvider() at System.Data.Services.DataService 。 System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody)处SyncInvokeProcessRequestForMessage(Object,Object [],Object []处的System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(对象实例,Object []输入处的HandleRequest() ,Object []和输出)在System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRp c& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&rpc)位于System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&rpc)位于System.ServiceModel.Dispatcher.MessageRpc.Process(布尔isOperationContextSet)

We are using the follow ddl 我们正在使用以下ddl
Microsoft.Data.Edm.dll 5.2.0.51212 Microsoft.Data.Edm.dll 5.2.0.51212
Microsoft.Data.OData.dll 5.2.0.51212 Microsoft.Data.OData.dll 5.2.0.51212
System.Spatial.dll 5.2.0.51212 System.Spatial.dll 5.2.0.51212

We have checked the files on the server, there all there. 我们已经检查了服务器上所有的文件。 The versions are the same 版本是一样的

Still have no clue what it could be... Idea's? 仍然不知道那可能是什么...想法?

Thanks ! 谢谢 !

Solved... 解决了...

First install: 首次安装:

Install-Package Microsoft.Data.Services -Version 5.2.0

In your web.config add: 在您的web.config中添加:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Data.Services" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.2.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

And last, Remove all unnessary information in your connecting from metadata so you will end up like this: 最后,从元数据中删除连接中所有不必要的信息,这样您将最终得到:

<add name="MobileDataPlatformEntities" connectionString="metadata=res://*/; etc...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM