当使用 Entity Framework 6 的数据库初始化程序创建一个数据库时,如果不存在 Azure SQL 服务器连接,则创建的数据库是使用 vCore 定价模型创建的。
理想情况下,它只需要是一个 S0 DTU 实例,我需要找到一种方法来指定它。
是否可以在 Azure SQL 服务器上指定默认数据库类型?或者可以在连接字符串中添加一些魔法来通知它要创建的数据库实例的类型?
我正在尝试设置Blob Triggered Function,但我不希望将连接字符串与所述函数共享到我的存储帐户。
从理论上讲,由于 Blob 存储与 Azure Active Directory 集成,因此应该可以在我的 Blob 容器上提供正确的 RBAC 权限,以便函数的标识(托管服务标识)具有创建触发器和读取 Blob 所需的任何权限.
但是,我还没有找到实现这一目标的方法。
我发现的所有选项都涉及使用完整的连接字符串,这将完全控制函数的存储帐户。
有什么办法可以实现我想要的吗?
我一直在与Blazor玩,并尝试构建一个简单的应用程序。我尝试做的第一件事是异步加载数据(在我的情况下是从LocalStorage加载)。
protected override async Task OnInitAsync()
{
await Log.Log($"{nameof(IndexComponent)}.{nameof(OnInitAsync)}");
Model = await LocalStorage.GetItem<DataModel>("model");
}
Run Code Online (Sandbox Code Playgroud)
我的渲染代码如下所示:
<div>@Model.Attribute</div>
Run Code Online (Sandbox Code Playgroud)
呈现页面时出现NullReferenceException异常,而且浏览器进入无响应状态,此时我只能关闭浏览器选项卡并重新启动Blazor应用程序。
尽管事实证明这种行为是设计使然,但我在任何文档中都没有找到它的解释,而且我认为这足以在此处授予共享。希望它将对其他人有所帮助(请参阅下面的我自己的答案)。
我需要从另一个 Azure 函数调用 Http Azure 函数。
目前,我调用 Azure Key Vault 来获取目标函数的密钥,并将其放入此处记录的 URL 中:https: //learn.microsoft.com/en-us/azure/azure-functions/functions-bindings- http-webhook-trigger?tabs=csharp#api-key-authorization
但是,我想开始使用托管身份和 DefaultAzureCredential,但我无法找到如何将 DefaultAzureCredential 与 HttpClient 或类似工具一起使用。
如何使用 DefaultAzureCredential 和 HttpClient 从另一个函数调用一个函数?
在尝试让 C# 编译器完成尽可能多的工作时,我通常最终会使用(有些人可能会说滥用)通用性。
我经常发现一种特殊情况,但我无法解释原因。据我所知,如果有一个类似于Eric Lippert对这个类似问题的精彩答案的解释,那就太好了:https: //stackoverflow.com/a/17440148/257372
我已经调整了真实类的名称以使用 Animal ,以便它与上面的答案相匹配。我还删除了所有方法和任何其他不必要的细节,以使事情尽可能简单。
public interface IAnimal { }
public interface IAnimalOperationResult<out TAnimal> where TAnimal : IAnimal { }
public record DefaultSuccessfulResult<TAnimal>() : IAnimalOperationResult<TAnimal> where TAnimal : IAnimal;
public abstract class AnimalHandler<TAnimal, TSuccessfulAnimalOperationResult> where TAnimal : IAnimal
where TSuccessfulAnimalOperationResult : IAnimalOperationResult<IAnimal> { }
// The compiler complains here with the following message:
// Error CS0311: The type 'DefaultSuccessfulResult<TAnimal>' cannot be used as type parameter 'TSuccessfulAnimalOperationResult' in the generic type or method 'AnimalHandler<TAnimal, TSuccessfulAnimalOperationResult>'. …Run Code Online (Sandbox Code Playgroud)