运行Azure存储模拟器作为服务

the*_*Dmi 13 windows windows-services azure azure-storage-emulator

我们在开发计算机和CI服务器上使用Azure存储模拟器,以便能够在本地使用存储队列.现在,每当我退出Windows或重新启动时,我都需要手动启动存储模拟器.

有没有办法将Azure存储模拟器作为服务启动,以便在Windows运行时自动启动?

the*_*Dmi 21

在尝试Gaurav Mantris答案的选项后更新了答案

按照Gaurav Mantri的描述运行批处理文件会使命令窗口保持打开状态.这是一种避免这种情况的方法:

  • 打开任务计划程序
  • 创建一个新任务
  • 添加"登录时"触发器
  • 使用以下设置添加"启动程序"操作:
    • 程序/脚本: AzureStorageEmulator.exe
    • 添加参数: start
    • 开始于:( C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator或存储模拟器驻留在磁盘上的任何位置)

  • 这仍然需要您登录到服务器,是否能够像标准Windows服务一样设置它而不必登录? (3认同)

Gau*_*tri 5

可以在中找到存储模拟器文件C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator.我注意到那里有一个批处理文件StartStorageEmulator.cmd.

你可以在你的Startup文件夹中创建这个文件的快捷方式(例如C:\Users\<your user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup).然后,当您再次登录时,存储模拟器将自动启动.[请参阅此处的说明:http://www.tech-recipes.com/rx/28206/windows-8-how-to-add-applications-startup-folder/].

另一种方法是创建一个运行此批处理文件的新任务,并安排该任务在计算机启动时运行.有关更多详细信息,请参阅此主题:在启动时运行批处理文件.


Chr*_*ood 5

将任何非服务进程(例如控制台应用程序)作为服务运行的一种选择是使用Non-Sucking Service Manager作为主机。(过去您可能使用SRVANY.EXE过 Windows NT Resource Kit。)

使用 NSSM 就这么简单:

> choco install nssm -y
> nssm install AzureStorageEmulator "C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe" start -inprocess
Run Code Online (Sandbox Code Playgroud)