Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure移动服务.NET后端中的RoleEnvironment问题_C#_.net_Azure_Azure Mobile Services - Fatal编程技术网

C# Azure移动服务.NET后端中的RoleEnvironment问题

C# Azure移动服务.NET后端中的RoleEnvironment问题,c#,.net,azure,azure-mobile-services,C#,.net,Azure,Azure Mobile Services,我有一个Azure移动服务,它使用新的.NET后端。在Global.asax应用程序初始化中,我尝试调用Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.IsAvailable,查看它当前是否在云中运行 到目前为止,我只遇到了一些问题 仅引用Microsoft.WindowsAzure.ServiceRuntime,我就得到一个TypeInitializationException,原因是缺少引用或加载msshrtmi失败 如果我向mss

我有一个Azure移动服务,它使用新的.NET后端。在Global.asax应用程序初始化中,我尝试调用Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.IsAvailable,查看它当前是否在云中运行

到目前为止,我只遇到了一些问题

仅引用Microsoft.WindowsAzure.ServiceRuntime,我就得到一个TypeInitializationException,原因是缺少引用或加载msshrtmi失败

如果我向msshrtmi添加手动引用,则会发生以下两种情况之一:

如果它是x86引用,则工作正常,但在部署时会抛出警告。它运行良好,在访问RoleEnvironment时不会崩溃,但RoleEnvironment.IsAvailable始终返回false

如果是x64引用,它将抛出与不存在的异常相同的异常

我在部署之前清理并删除了bin/obj,通过can服务部署或直接从项目发布,并确保它们都设置为Copy Local=True。似乎没有什么帮助

所以,我需要从我能说的两件事中的一件得到帮助

1一种确定移动服务当前是否在云或云仿真程序中运行而不使用RoleEnvironment的方法

2让msshrtmi为我的移动服务工作的方法

最后一点注意:作为参考,我确实确保它们都引用了x64或x86 Windows.Azure.ServiceRuntime和msshrtmi的相同副本

最后,我想知道Azure移动服务是否在角色中运行,即使它被设置为Web角色。如果是这样,我需要一个RoleEnvironment替代方案