[更新1]
我可以使用以下连接字符串使其工作
Server=tcp:mydatabaseserver.database.windows.net,1433;Initial Catalog=mydbname
Run Code Online (Sandbox Code Playgroud)
并实现本文中提到的拦截器。
这证明 Azure 配置正确,问题出在应用程序的某个地方(可能是缺少包?)。
无论如何,我仍然希望能够更改连接字符串并在 AAD 身份验证和 sql 身份验证之间切换,而无需在应用程序中添加其他逻辑。
[/更新1]
我在Azure WebApp 上使用EF Core 3.1.4,我想使用分配给应用程序的 Azure AD 标识进行身份验证,但遇到以下异常:
ArgumentException: Invalid value for key 'authentication'.
Microsoft.Data.Common.DbConnectionStringBuilderUtil.ConvertToAuthenticationType(string keyword, object value)
Run Code Online (Sandbox Code Playgroud)
这是连接字符串:
{
"ConnectionStrings": {
"Admin": "Server=tcp:mydatabaseserver.database.windows.net,1433;Initial Catalog=mydbname;Authentication=Active Directory Integrated"
}
}
Run Code Online (Sandbox Code Playgroud)
我使用以下代码初始化上下文:
Server=tcp:mydatabaseserver.database.windows.net,1433;Initial Catalog=mydbname
Run Code Online (Sandbox Code Playgroud)
该Microsoft.Azure.Services.AppAuthentication软件包也是进口(版本1.5.0)
entity-framework-core azure-sql-database azure-web-app-service
我们在MVVM应用程序中使用MEF(.NET 4,目前不能使用4.5).一切都很好,直到我们需要动态创建模型,例如表格的可编辑行.我不想遇到内存泄漏,我发现这篇文章http://pglazkov.blogspot.ch/2011/04/mvvm-with-mef-viewmodelfactory.html我发现了一个我想要了解的意外行为.这是添加到Shell.Items可观察集合的Item:
[PartCreationPolicy(CreationPolicy.NonShared)]
[Export]
public class Item : INotifyPropertyChanged, IDisposable
{
[Import]
private Lazy<Shell> shell;
/// <summary>
/// Initializes a new instance of the <see cref="Item"/> class.
/// </summary>
public Item()
{
this.Time = DateTime.Now;
}
~Item()
{
this.Dispose(false);
}
public event PropertyChangedEventHandler PropertyChanged;
public Shell Shell
{
get
{
return this.shell.Value;
}
}
public DateTime Time { get; private set; }
public void Initialize()
{
this.Shell.ItemsCount++;
}
public void Dispose()
{
this.Dispose(true);
}
private void Dispose(bool disposing) …Run Code Online (Sandbox Code Playgroud) 几年前,我使用Make-shell创建了带有自定义cmdlet的自定义shell.后来我使用了snap-in技术,我忘记了这个选项.
现在我应该为一大批客户部署一组自定义cmdlet,最好提供一个零配置解决方案; 因此,我记得自定义shell解决方案,我想知道它是否仍然是这种情况下的最佳解决方案.它也会有所帮助,因为我的cmdlet使用WF 4.0,因此shell应该在最新的框架版本下运行.无论如何,我对它的支持有点害怕:它是否仍在使用Powershell 2.0功能?
是否有其他方法可以在客户的计算机上轻松部署cmdlet?
谢谢
如何使用 REST API 从 VSTS 获取工作项列表?
根据文档,该ids参数是可选的,但是当我省略它时,我会收到404错误消息。如果我添加ids参数,我可以获得项目。
失败的请求:
GET https://{account}.visualstudio.com/DefaultCollection/_apis/wit/workitems?api-version=1.0
成功请求:
GET https://{account}.visualstudio.com/DefaultCollection/_apis/wit/workitems?ids=252&api-version=1.0
两者的身份验证相同。
要解决的完整问题是:获取特定 VSTS 项目中的所有功能
.net ×1
.net-4.0 ×1
azure-devops ×1
c# ×1
cmdlets ×1
mef ×1
memory-leaks ×1
powershell ×1
pssnapin ×1
rest ×1