Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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
.net 如何让worker角色应用程序从web角色实例访问文件_.net_Azure_Webrole - Fatal编程技术网

.net 如何让worker角色应用程序从web角色实例访问文件

.net 如何让worker角色应用程序从web角色实例访问文件,.net,azure,webrole,.net,Azure,Webrole,我们有一个windows服务,现在需要更改为worker角色应用程序,但该服务每次都需要从web应用程序获取一些文件,正如我所知,web角色和worker角色在不同的实例中运行,因此我的问题是:如何让worker角色应用程序从web角色实例访问文件 为此,您可以使用blob存储或azure文件服务 由于您正在迁移现有的应用程序,我建议您使用azure文件服务。基本上,您要做的是创建一个共享,并在角色启动时将该共享映射为web角色和worker角色上的网络驱动器。然后,Web角色将使用标准文件AP

我们有一个windows服务,现在需要更改为worker角色应用程序,但该服务每次都需要从web应用程序获取一些文件,正如我所知,web角色和worker角色在不同的实例中运行,因此我的问题是:如何让worker角色应用程序从web角色实例访问文件

为此,您可以使用
blob存储
azure文件服务

由于您正在迁移现有的应用程序,我建议您使用azure文件服务。基本上,您要做的是创建一个共享,并在角色启动时将该共享映射为web角色和worker角色上的网络驱动器。然后,Web角色将使用标准文件API向该共享写入一个文件。要通知工作者角色有要处理的文件,web角色可以向工作者角色正在轮询的队列写入消息。收到消息后,工作角色将读取文件并处理该文件


您可能会发现这篇关于azure文件服务的博文很有用:。

非常感谢,还有两个问题:1。我的服务执行任务取决于数据库中的数据(在特定时间间隔内从数据库获取数据),所以我认为我可以忽略azure消息队列,对吗?2.我不会将文件移动到blob存储,因为它是web应用程序的一部分,而且非常庞大,我无法在每次包部署后将所有文件同步到azure文件服务,因此这可能会导致问题。关于1,您是对的。您需要一些机制来让工作人员角色知道。关于第二个问题,我建议你编辑你的问题并把它放在那里。这是一个有趣的问题。只是出于好奇,这些web角色中的文件是如何创建的,它们有多大。如果你也能描述一下,那会很有帮助。谢谢。谢谢你的回答,第二个问题有点复杂,我们现在正在使用lucene.net生成许多巨大的索引文件,我打算将索引文件移动到blob存储中,但当客户使用搜索功能时,每次下载索引文件都不好,这将花费大量时间,性能也不好,所以我将索引文件缓存在本地文件系统中(在web app下),我们使用服务重新生成索引文件,上载到blob,但还需要更新本地索引文件,因为它们被用作缓存,这让我很烦恼。顺便说一句,文件服务处于预览版本,我在azure storage management中找不到它