2013-05-06 75 views
1

我在C#中开发了VS2008中的Web服务。该服务查询SQL Server Express 2012数据库并返回结果。当我在本地开发系统上测试服务时,它工作正常。在Azure虚拟机上部署基于sqlserver的webservice

现在我有一个Windows Azure试用帐户,并且我希望将此服务部署在虚拟机上。

1-我尝试使用SQL Server和Visual Studio创建虚拟机,但无法在其中创建服务。 VS在那里没有Web服务模板。

2-我尝试在我的开发系统上创建部署软件包,并试图安装该服务,但它也没有工作。

请建议您完成此任务的正确方法。我对所有这些概念都非常陌生,因此可能我缺少一些基本信息,并且一步一步的指导不会受到伤害。

+0

它是什么样的服务?它是使用“WebMethod”属性的ASP.NET Webservice,还是已经成熟的WCF数据服务? – 2013-05-06 07:40:27

+0

为什么在2013年开发VS2008中的Web服务?所有使用Azure的工具都在VS2012(或VS2010中,但由于您迫切需要更新,您可能还需要进行全部操作)。 – 2013-05-06 08:48:04

回答

1

我不知道你做了这样的说法,而是创造与MS SQL后端云托管的Web服务的最简单的方法是:

  1. Azure Management Portal创建a new instance of SQL Azure
  2. 创建a new database(可能是您的案例中的网络版)。
  3. 使用来自门户和Azure SDK的连接字符串来开发在Azure上托管的ASP.NET应用程序(Web角色)。只要您在SQL Azure实例上设置防火墙,以便从外部IP进行入站连接,就可以用类似于测试当前ASP.NET应用程序的方式在本地测试此应用程序。 (here是前三步的分步教程)
  4. 创建a new instance of cloud service in Azure management portal
  5. 直接从Visual Studio将应用程序部署到云中。不过,您至少需要Visual Studio 2010,而Express Edition已经可以做到了。

更新:作为Mark Rendle的评论和his answer建议,也没有必要,只要你的服务是重量轻,不创建一个单独的云实例唯一的数据抓取Cloud实例会但是,如果您的服务需要数据处理或其他逻辑需要长时间运行的流程),这一点至关重要。

或者,您可能想要使用Azure Mobile services,它已经为SQL Azure提供了可能会执行的Web服务。这是一个完全基于REST的Web服务,您只需要在JavaScript中编写一些逻辑,类似于Node.js实现。有关此问题,请参阅an excellent tutorial

+0

云服务不再是在Azure中托管东西的最简单方式。 – 2013-05-06 08:59:49

+0

@MarkRendle:您使用Azure网站的建议是另一个不错的选择(我必须承认我一开始就忽略了它),但它需要完整的服务逻辑才能在IIS中运行。对于轻量级的“GetThatData”服务来说,这是非常好的,但只要需要更多的处理,就可能会遇到性能问题...... – 2013-05-06 09:07:20

+0

是的,我使用Web站点来处理长时间运行的HTTP进程和后台Worker角色。我认为通过网站发生的最大的事情是将文件上传到Blob存储。 – 2013-05-10 23:07:10