jQuery站点

时间:2017-06-30 19:14:02

标签: c# jquery web-services azure-table-storage

我正在开发一个jQuery网站,它将显示我的Azure表存储(ATS)帐户中的单个记录。我不想使用jQuery直接访问该表,因为这需要披露我的ATS帐户名和jQuery代码中的密钥。我试图找到一个简单的C#Web服务示例项目作为界面,但我能找到的所有内容都比我需要的复杂得多。

这个Web服务只需要一个jQuery将使用的API:它将传递两个字符串:ATS的Partition Key和Row Key,它将与ATS中的现有记录完全匹配。返回的结果将是jQuery在收到后将使用JSON.parse()转换的字符串。如果未找到传入分区和行键的记录,则应返回空字符串。

如果您知道一个简单的C#Web服务示例,我可以将其作为起点,我将非常感谢它的链接。我用C#开发已经很多年了,表服务API的复杂性以及所有相关的加密,散列,签名等让我感到困惑。

编辑:我现在意识到,我的jQuery代码(提供Web UI)和C#(提供ATS接口)可能在一个.NET解决方案中协同工作。我目前正在自己​​的.NET解决方案中独立运行jQuery UI应用程序,因为我在尝试解决问题时遇到了麻烦。

1 个答案:

答案 0 :(得分:0)

  

我不想使用jQuery直接访问该表,因为这需要在jQuery代码中公开我的ATS帐户名和密钥。

您似乎不希望jQuery客户端通过table service Rest API直接向查询实体发出GET请求,并且您希望创建一个后端服务来查询表中的实体。正如评论中提到的maccettura,您可以创建一个ASP.NET Web API项目并在控制器操作中执行Query Entities操作。

[Route("queryentity/{pk}/{rk}")]
public CustomerEntity Get(string pk, string rk)
{
    //you can install [Azure Storage Client Library for .NET](https://www.nuget.org/packages/WindowsAzure.Storage/)
    //and then create a retrieve operation and pass both partition and row keys to retrieve a single entity

    //TableOperation retrieveOperation = TableOperation.Retrieve<CustomerEntity>(pk, rk);

    //or 
    //make [Query Entities](https://docs.microsoft.com/en-us/rest/api/storageservices/query-entities) operation as you did 


    return myCustomerEntity;
}