Azure表存储 - 无法建立连接,因为目标计算机主动拒绝它127.0.0.1:10002

时间:2015-11-17 19:11:25

标签: c# asp.net azure azure-table-storage

我正在开发一个ASP.Net MVC& WebApi在Windows 8上使用Visual Studio 2015中的表存储的站点。它在开发环境中工作正常(当我在web.config中设置UseDevelopmentStorage=true时)。我正试图点击http://localhost:80我必须使用此功能并且无法使用其他端口,我将发布到我的网站上的另一个程序,它只会发布到该位置。

我最近运行该网站并在我的代码到达以下代码行时出现以下错误: CloudTable table = cloudTableClient.GetTableReference(tableName);

错误:

  

无法建立连接,因为目标计算机是主动的   拒绝了127.0.0.1:10002

我尝试了以下内容:

1)Uninstall-Package WindowsAzure.Storage -Version 6.1.0并从NuGet重新安装

2)重启Windows

3)在这里浏览C:\Program Files\Microsoft SDKs\Azure\.NET SDK\v2.7\binran cspack.ext(我看不到任何与存储相关的内容)

它还没有运行。 关于我可以尝试的任何想法?

更新

在收到上述错误后,我打开了Cloud Explorer窗口,可以看到我在dev中使用我的代码在本地创建的表(假设这意味着我的本地存储模拟器正在运行)但我仍然收到错误。然后我关上窗户再打开它。它在扩展“存储帐户(经典)”时稍微旋转,但最终显示了我创建的表格。

奇怪的是,“云资源管理器”窗口中的唯一节点是“存储帐户(经典)”,我确信之前有其他节点的列表(即WebApps等)。如果有人可以帮忙解决这个问题,请你可以逐步说明该做什么(不是“模拟器没有运行”)。这是一个新的,所以寻找我理解的简单指示。

非常感谢。

1 个答案:

答案 0 :(得分:16)

您必须启动存储模拟器。它位于%programfiles(x86)%\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe

作为奖励,这是一个批处理脚本,用于清理模拟器,以及启动它。

SET emu="%programfiles(x86)%\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe"
%emu% stop
%emu% clear all
%emu% start

<强>更新

可以找到经典帐户和“新”存储帐户之间的差异here

  

使用现有服务管理创建经典存储帐户   API(过去几个可用的REST API堆栈)   年份)。较新的存储帐户是使用新Azure创建的   资源管理器(ARM)API(也包含在PowerShell和   CLI现在)。最终,他们为您的应用提供相同的资源,但是   它们的创建/管理方式不同,并且有一些细微差别   差异(例如标记通过资源创建的资源的能力   ARM脚本)。

     

您无法转换经典存储帐户(或任何经典资源)   更新的类型。除非你在尝试,否则你无论如何都不需要   混合来自经典和新的资源,例如添加基于ARM的资源   虚拟机到基于经典的虚拟网络,或者旋转起来   来自vhd映像的基于ARM的VM位于经典存储帐户中   (对于该示例,您可以随时将vhd复制到新的   存储帐户)。请注意,对于一般存储使用情况   (blobs / tables / queues),你只需要URI和主要(或   次要)钥匙。有了这些,您可以从中访问您的存储资源   无论您是否正在访问,都可以在任何地方,从任何VM /网站/等   例如,来自经典或新虚拟机的存储。

TL; DR:不同之处在于用于管理存储帐户的API。用于下载/上传数据到容器的现有API和SDK适用于两者。