我有一个类属性集,并在构造函数中固定,下面的示例是一个Guid.NewGuid()..
理由是只允许类在创建时填充..所以它在构造函数中设置,并且只标记为get;- 工作正常,直到我序列化/反序列化为 Json。
似乎因为没有set;反序列化失败..并且构造函数介入并创建了一个新的guid
我已经尝试过内部、私有和受保护的 set .. 但所有结果都导致属性的再生,我可以让它工作的唯一方法是将 Id 标记为{get;set;},
class Foo
{
public Foo() => Id = Guid.NewGuid().ToString();
public string Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这意味着您可以简单地执行以下操作:
var obj = new Foo();
obj.Id = "Any Old Rubbish";
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个问题?
短样本:
class Program
{
static void Main()
{
var obj = new Foo();
Console.WriteLine(obj.Id);
var serialize = JsonConvert.SerializeObject(obj);
var deserialize = JsonConvert.DeserializeObject<Foo>(serialize);
Console.WriteLine(deserialize.Id);
Console.ReadLine();
}
}
class Foo
{
public Foo() => …Run Code Online (Sandbox Code Playgroud) 因此,Azure SQL 数据仓库不支持标识列,因此处理代理键很棘手。有人对此有任何大胆的解决方案吗?
这是我发现的最好的,而且非常可怕。
Polly 中是否有一种方法可以重试除指定的异常之外的所有异常.. 例如:
var p = Policy
.Handle<HttpListenerException>(e => !(e.NativeErrorCode == 1))
.Or<Exception>()
.RetryAsync();
Run Code Online (Sandbox Code Playgroud)
在这里,我选择了一个略显做作的情况,我会想不是在重试NativeErrorCode == 1?
我最初希望这会在 1 以外的任何值以及由.Or<Exception>()..处理的任何其他异常时重试。
实际发生的是什么,即使它被排除在上面,.Or<Exception>也会捕获NativeErrorCode == 1?我认为..
我考虑过的一种选择,但没有经过测试......(没有错误检查;p)
var p = Policy
.Handle<Exception>(e => SomethingMoreComplex(e) == true)
.RetryAsync();
private bool SomethingMoreComplex(Exception e)
{
if (e is HttpListenerException t)
{
if (t.NativeErrorCode == 1) return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
那是线程安全的吗?:|
我正在使用以下代码将数据流推送到 Azure EventHub Microsoft.Hadoop.Avro.. 此代码每 5 秒运行一次,并简单地插入相同的两个 Avro 序列化项目:
var strSchema = File.ReadAllText("schema.json");
var avroSerializer = AvroSerializer.CreateGeneric(strSchema);
var rootSchema = avroSerializer.WriterSchema as RecordSchema;
var itemList = new List<AvroRecord>();
dynamic record_one = new AvroRecord(rootSchema);
record_one.FirstName = "Some";
record_one.LastName = "Guy";
itemList.Add(record_one);
dynamic record_two = new AvroRecord(rootSchema);
record_two.FirstName = "A.";
record_two.LastName = "Person";
itemList.Add(record_two);
using (var buffer = new MemoryStream())
{
using (var writer = AvroContainer.CreateGenericWriter(strSchema, buffer, Codec.Null))
{
using (var streamWriter = new SequentialWriter<object>(writer, itemList.Count))
{
foreach (var item in …Run Code Online (Sandbox Code Playgroud) c# apache-spark azure-stream-analytics spark-avro azure-databricks
在运行或调试测试时,我似乎无法从azure函数中的此文件中读取任何内容,但是在本地调试整个应用程序时,它可以正常工作。.有人能解释为什么吗?
{
"IsEncrypted": false,
"Values": {
"xyz": 123
}
}
var res = ConfigurationManager.AppSettings.Get("xyz");
Run Code Online (Sandbox Code Playgroud)
ty ..
我可疑的是,这是由于从另一个项目(测试项目)启动了“调试”,而local.settings.json没有与正在测试的项目捆绑在一起吗?
我有一个非常简单的 RESTful 服务,它通过 POST 接收一些表单数据,其目的是简单地将文本正文(具有唯一的 id)保留在云存储(Amazon S3、Azure Blob 存储等)中作为文件...
所以,问题是..如果一切都很好,并且我向调用者返回 200 响应,那么我应该以正文形式向调用者返回什么?
任何事物?没有什么?
如果这是创建数据库记录..也许该新记录的 id 可能有用..但在这种情况下,我认为简单的 HttpRepsone 代码就足够了?
有人同意、不同意或有支持讨论的链接吗?
我应该补充一点,对该服务的请求几乎是......移交,然后去......他们实际上并不需要我建议发回的唯一ID......这更多的是为了“完整性”。
我已经对此进行了搜索,但是是否存在有关如何计划使用Azure CLI命令运行的作业的文档?
我想在云中运行,但是azure自动化尚不支持CLI(因此),因此我倾向于使用Azure Scheduler ...,但不知道其优缺点...
或者,是否可以在Azure Cloud Shell中以某种方式创建计划的作业...我认为这是由某些VM支持的,因此,如果它是基于Linux的,我们可以加快cron作业的时间...我不真的不知道该怎么做。
!
在我们的解决方案中,我们有三个功能应用程序,其中两个在消费计划上运行,其中一个由于外部使用而移动到同一计划有点麻烦。第三个在应用程序服务计划上运行,因为它有额外的需求在资源、控制和连接等方面。
Q1:所有这些是否可以(例如,可以)共享同一个存储帐户吗?
Q2:如果不能,至少消费功能应用可以共享同一个存储帐户吗?
Q3:如果所有(或部分)功能应用程序配置为使用相同的存储帐户进行设置,是否存在相互干扰的风险:
提前。
编辑:-需要将在 Amazon S3 上创建的一些文件移动到 Azure Blob 存储,我之前没有使用过 Amazon S3,并且提供的详细信息包括我不是 100% 的“路径”如何使用使用 C# 中的 AWSSDK.S3 NuGet 包..
因此,之前从未使用过 Amazon S3,并尝试构建一个 azure 辅助角色(或 webjob)来监视此存储位置并将文件或文件在出现时移动到 Azure Blob 存储 - 似乎很容易,但我失败了S3 的身份验证阶段,问题是我拥有的“路径”变量。
我已经使用 Cyberduck 测试了我的连接,我有以下参数:
Access Key Id, Secret Access Key, and Path.. the Path is just "folder/folder/"
Run Code Online (Sandbox Code Playgroud)
如果没有路径,我会收到来自 Cyberduck 的拒绝访问响应......好吧,这是意料之中的 - 但我无法弄清楚如何将路径嵌入到 Visual Studio AWS 凭证管理器或测试控制台工具中的代码中我已经书面..
处理凭证的 AWS Explorer 只允许我输入:
Access Key Id, Secret Access Key, Account Number ????
Run Code Online (Sandbox Code Playgroud)
我需要手动编码吗?一直在回顾这个,但今天真的没有足够的时间来消化它:
https://blogs.aws.amazon.com/net/post/Tx1310VG2O81PSY/Referencing-Credentials-using-Profiles
Run Code Online (Sandbox Code Playgroud)
干杯,
泰。
关于我们反复看到的以下异常,请在我们的消费计划功能应用程序上看到异常奇怪的行为:
Microsoft.Azure.EventHubs.RecieverDisconnectedException (已创建新的具有较高纪元“ 2”的接收器,因此当前具有纪元“ 1”的接收器已断开连接。)System.Net.WebException (引发了类型为“ Microsoft.ServiceBus.Messaging.LeaseLostException”的异常。)只要我们强调功能,即在短时间内从0到50,000个事件发生,我们就会得到这些异常,但是它们与匹配我们的Function App。的cloud_role挂钩。这会让我相信这是一个主机错误。
阅读各种文档,例如(https://docs.microsoft.com/zh-cn/azure/event-hubs/event-hubs-features),我想我知道EventHub接收器是如何工作的[但老实说,我是在行之间进行读取(目前还不清楚),因为我的一个接收者依赖于一个消费者组来管理从EventHub分区(我使用的是32个)中读取一批消息。
我的假设是,在负载下,单个消费者组的功能实例太多,无法“应付”,它只是反复地切换分区的租用...但是,在我的测试场景中,我删除了所有逻辑除了在事件中心之间中继消息外,其他功能还起作用,并且即使在EventHub上只有4个分区,错误仍然存在
为了拼命地查看是否在更高版本中得到解决,我在功能v2中模拟了完全相同的功能,并获得了与.net核心等效的功能。
Microsoft.Azure.EventHubs.RecieverDisconnectedException (已创建新的具有较高纪元“ 2”的接收器,因此当前具有纪元“ 1”的接收器已断开连接。)Microsoft.WindowsAzure.Storage.StorageException (指定的租约ID与Blob的租约ID不匹配。)System.ArgumentOutOfRangeException (因为..而忽略了偏移量为1184072 /序列号为1038的过时检查点。)所以有人可以吗
这些异常真的很烦人,因为要真正看到真正的未处理异常非常棘手。
可能有人帮助我了解在下面的例子中实际上是怎么回事,这样我可以鱼在未来的自己..因为明白为什么错误获取或如何解决它,而不只是重新写...
给出这种方法方法:
public static void DoNothing(string v)
{
// do nothing
}
Run Code Online (Sandbox Code Playgroud)
试图像这样执行它会产生错误" 无法推断出方法的类型参数..请尝试明确指定类型参数. ":
myList.Select(x => DoNothing(x)); // does not work
var r = myList.Select(x => DoNothing(x)); // just a ?
Run Code Online (Sandbox Code Playgroud)
但是,只要它返回一些东西,即:
private static string ReturnString(string v)
{
return v;
}
Run Code Online (Sandbox Code Playgroud)
这很好用:
myList.Select(x => ReturnString(x)); // works
var r = myList.Select(x => ReturnString(x)); // IEnumerable<string>
Run Code Online (Sandbox Code Playgroud)
所以我想这与void返回类型有关?
我可以永远不会工作,因为没有任何东西返回,或者是否有一些我缺少/无法弄清楚的神奇语法(!)
唯一的方法我似乎可以得到这个功能如下:
foreach (var item in myList)
{
DoNothing(item); // works fine.
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
c# ×6
azure ×4
amazon-s3 ×1
apache-spark ×1
aws-sdk ×1
azure-cli ×1
httprequest ×1
httpresponse ×1
json ×1
json.net ×1
lambda ×1
polly ×1
rest ×1
spark-avro ×1