gpt4 book ai didi

asp.net - 在 azure 存储中插入 IgnoreResourceNotFoundException 的位置

转载 作者:行者123 更新时间:2023-12-03 00:34:24 26 4
gpt4 key购买 nike

嗨,我正在尝试编写一个查询来按员工 ID 选择数据,但是当表中没有条目时,我收到错误。我知道我可以使用 IgnoreResourceNotFoundException=true,但我不知道在哪里插入此代码。希望你们能帮忙。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.StorageClient;
using Microsoft.WindowsAzure.ServiceRuntime;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;

namespace MessageBoard_Data
{
public class MessageBoardDataSource
{


private const string messageTableName = "MessageTable";
private const string connectionStringName = "DataConnectionString";
private static CloudStorageAccount storageAccount;
private CloudTableClient tableClient;
private const string messageImageBlobName = "golfermessageboardpics";
private CloudBlobClient blobClient;
private CloudBlobContainer blobContainer;
private const string messageQueueName = "golfermessageboardqueue";
private CloudQueueClient queueClient;
private CloudQueue queue;


public MessageBoardDataSource()
{
string connectionString = RoleEnvironment.
GetConfigurationSettingValue(connectionStringName);

storageAccount = CloudStorageAccount.Parse(connectionString);

tableClient = new CloudTableClient(storageAccount.TableEndpoint.
AbsoluteUri,storageAccount.Credentials);

tableClient.RetryPolicy = RetryPolicies.Retry(3, TimeSpan.FromSeconds(1));
tableClient.CreateTableIfNotExist(messageTableName);



blobClient = storageAccount.CreateCloudBlobClient();
blobContainer = blobClient.GetContainerReference(messageImageBlobName);
blobContainer.CreateIfNotExist();


var permissions = blobContainer.GetPermissions();
permissions.PublicAccess = BlobContainerPublicAccessType.Container;
blobContainer.SetPermissions(permissions);
queueClient = storageAccount.CreateCloudQueueClient();
queue = queueClient.GetQueueReference(messageQueueName);
queue.CreateIfNotExist();


}
public IEnumerable<MessageBoardEntry> GetEntriesbyid(string EmployeeID)
{
TableServiceContext tableServiceContext = tableClient.GetDataServiceContext();
tableServiceContext.IgnoreMissingProperties = true;
tableServiceContext.IgnoreResourceNotFoundException = true;
var results = from h in tableServiceContext.CreateQuery
<MessageBoardEntry>(messageTableName)
where h.EmployeeID == EmployeeID
select h;
return results;
}

最佳答案

var context = tableClient.GetDataServiceContext();
context.IgnoreMissingProperties = true;

然后按照您的意愿查询上下文,如果从此之后查询上下文时找不到,它将返回 null。

更新:如果这是新创建的表,您可能会遇到开发存储模拟器的已知问题。

在第一次使用表之前,您可能需要在表中添加一个虚拟项,以确保它知道架构是什么。因此,请尝试以下帖子中的步骤:http://deeperdesign.wordpress.com/2010/03/10/azure-table-storage-what-a-pain-in-the-ass/

关于asp.net - 在 azure 存储中插入 IgnoreResourceNotFoundException 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8399491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com