Azure存储模拟器错误,并不会启动
这个错误真的让我发疯。 (terminal以pipe理员模式运行)
在sql server 2014中初始化azure存储模拟器:
C:\Program Files (x86)\Microsoft SDKs\Windows Azure\Storage Emulator>.\wastorage emulator init -server MY-PC Windows Azure Storage Emulator 3.0.0.0 command line tool The storage emulator was successfully initialized and is ready to use.
启动服务器时出错:
C:\Program Files (x86)\Microsoft SDKs\Windows Azure\Storage Emulator>.\wastorage emulator start Windows Azure Storage Emulator 3.0.0.0 command line tool Unhandled Exception: System.TimeoutException: Unable to open wait handle. at Microsoft.WindowsAzure.Storage.Emulator.Controller.EmulatorProcessControll er.InternalWaitForStorageEmulator(Int32 timeoutInMilliseconds) at Microsoft.WindowsAzure.Storage.Emulator.Controller.EmulatorProcessControll er.EnsureRunning(Int32 timeoutInMilliseconds) at Microsoft.WindowsAzure.Storage.Emulator.StartCommand.RunCommand() at Microsoft.WindowsAzure.Storage.Emulator.Program.Main(String[] args)
检查您是否使用端口10000运行BitTorrent / uTorrent或类似的软件 。
检查Steve Marx关于这个问题的博客文章。 http://blog.smarx.com/posts/windows-azure-storage-emulator-the-process-cannot-access-the-file-because-it-is-being-used-by-another-process
如果该post消失,则检查是否有其他软件正在使用该端口的命令是:
C:\Users\smarx>netstat -p tcp -ano | findstr :10000 TCP 127.0.0.1:10000 0.0.0.0:0 LISTENING 3672
Azure工具更新(2.3版本)后,我有同样的问题。 经过数小时的研究,我发现奇怪的解决scheme – 将“启动Windows Azure存储模拟器”设置为“False”(在Azure项目的属性中)。
确保初始化模拟器的用户与启动模拟器的用户相同。 请注意,如果您作为不同的用户提升运行初始化,则初始化仅适用于该用户。
如果这没有帮助,可以尝试使用-inprocess标志启动模拟器以获取更详细的错误消息:
WAStorageEmulator start -inprocess
另一种方法是更改模拟器在存储模拟器目录中的configuration文件中使用的ip绑定。
findwastorageemulator.exe.config并更改
<services> <service name="Blob" url="http://127.0.0.1:10000/"/> <service name="Queue" url="http://127.0.0.1:10001/"/> <service name="Table" url="http://127.0.0.1:10002/"/> </services>
这将是有用的,如果另一个应用程序已经在使用该端口,你不能卸载。
总结并添加其他答案来解决这个问题。
在记事本或记事本++编辑器中打开C:\ Program Files(x86)\ Microsoft SDK \ Azure \ Storage Emulator \ AzureStorageEmulator.exe文件。 看看服务部分。
<services> <service name="Blob" url="http://127.0.0.1:10000/"/> <service name="Queue" url="http://127.0.0.1:10001/"/> <service name="Table" url="http://127.0.0.1:10002/"/> </services>
尝试在networking浏览器中打开“Blob”的URL。 在我的情况是这样的
http://127.0.0.1:10000/
如果您无法打开URL或发生错误,这就是无法启动Azure存储模拟器的原因。
尝试以下步骤来解决问题。
1)检查端口10000是否忙或被其他进程使用。
要知道这个,你可以在命令提示符下键入下面的命令
netstat -na | find "10000"
杀死进程。
现在在进程模式下启动Azure存储模拟器
在Azure存储模拟器的命令提示符下键入
AzureStorageEmulator.exe start -inprocess
然后按Ctrl + C
AzureStorageEmulator.exe start
如果这不能解决问题,请尝试第二步。
2)运行这个
netsh http add iplisten 127.0.0.1
然后在Azure存储模拟器的命令提示符下键入
AzureStorageEmulator.exe start -inprocess
然后按Ctrl + C
AzureStorageEmulator.exe start
这里有一些信息可能有帮助:
http://wintellect.com/blogs/jlane/initializing-the-microsoft-azure-sdk-2.3-storage-emulator
WAStorageEmulator.exe init -server MyMachine -sqlinstance 。 -forcecreate -inprocess
我最近发生了这种情况,这是因为我最近安装了HDInsight仿真器。 看来这是自动启动存储模拟器导致错误,当VS试图启动它导致错误。
在这种情况下,将“启动Microsoft Azure存储模拟器”值设置为False也起作用。
我遇到了同样的问题。 我发现,端口10000正在被另一个进程使用。 在我的情况下,utorrent正在使用它。 这可能是Bittorrent,如果这就是你正在使用的。 卸载后,它开始顺利修改我的数据。
如果您的torrent下载器对您意义重大,您可以考虑从这个angular度解决您的问题。 我希望这个工程。
对于新发布的documentdb模拟器的用户… Microsoft认为documentdb模拟器使用与存储模拟器相同的端口是一个好主意;)访问存储的唯一方法是closuresdocumentdb模拟器并重新启动Visual Studio瞧,你可以再次使用它:facepalm:
尝试运行命令提示符并input:“以pipe理员身份运行”,然后运行以下命令: C:\ Program Files(x86)\ Microsoft SDKs \ Azure \ Storage Emulator> AzureStorageEmulator.exe start
那为我做了诡计!
我有同样的问题,因为我不得不重新join我的机器到域和用户configuration文件重新创build。 我注意到,它是从提升cmd选项-inprocess开始的。 然后我意识到,它必须与urlac做,我解决了删除旧的与以下命令:
(from elevated cmd) netsh http delete urlacl url=http://127.0.0.1:10000/ netsh http delete urlacl url=http://127.0.0.1:10001/ netsh http delete urlacl url=http://127.0.0.1:10002/
之后,像往常一样开始,该工具将重新创build必要的东西。 现在我可以使用它,而不用提升。