我正在开发一个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\bin
和ran cspack.ext
(我看不到任何与存储相关的内容)
它还没有运行。 关于我可以尝试的任何想法?
更新
在收到上述错误后,我打开了Cloud Explorer窗口,可以看到我在dev中使用我的代码在本地创建的表(假设这意味着我的本地存储模拟器正在运行)但我仍然收到错误。然后我关上窗户再打开它。它在扩展“存储帐户(经典)”时稍微旋转,但最终显示了我创建的表格。
奇怪的是,“云资源管理器”窗口中的唯一节点是“存储帐户(经典)”,我确信之前有其他节点的列表(即WebApps等)。如果有人可以帮忙解决这个问题,请你可以逐步说明该做什么(不是“模拟器没有运行”)。这是一个新的,所以寻找我理解的简单指示。
非常感谢。
答案 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适用于两者。