我们有一个废弃的拉取请求,我们想永久删除它。如何才能做到这一点?似乎没有“删除”或“删除”选项。谢谢。
我正在构建一个应用程序,它有一个前端(使用 Vue.js 构建的 SPA),它与后端(托管在 Azure 中)的几个基于 json 的 Web API 接口。Web API 需要通过 Azure Active Directory 进行保护,并且用户必须是安全组的成员。此外,如果用户没有作为一个帐户登录(即只是自动重定向),SPA 应该简单地尝试强制用户登录到已批准的帐户。
我实际上已经完成了所有这些工作。AAD 应用程序具有 Group.Read.All,用户通过 SPA 登录并给予同意,SPA 调用 getMemberGroups。此外,Web API 可以检查 SPA 提供的访问令牌,但不幸的是,Web API 还必须调用 getMemberGroups。
我认为这是我关心的问题。Web API 必须不断调用 getMemberGroups 来锁定它。如果我对服务进行身份验证,我可能只能在验证成员资格组后返回访问令牌。但随后我失去了 SPA 中简单的 MSAL 登录模型 - Web API 实际上不提供任何前端,SPA 是静态托管的。
据我所知,我无法让 Azure Active Directory 创建保证其中包含某些组声明的令牌。我想这会解决我的问题。
有人可以就围绕 SPA + Web API 环境设计身份验证模型的最佳方法提供一些建议吗?或者我采取的方法是唯一的方法吗?
谢谢!
single-page-application azure-active-directory azure-ad-msal
我正在使用VS 2015.我有一个Azure Cloud项目(CCPROJ),它引用了一个C#项目(一个CSPROJ).不幸的是,C#项目必须引用Microsoft.Bcl.Build,因为它具有依赖性.但是,当云项目构建时,它会收到此警告:
All projects referencing MyProject.csproj must install nuget package Microsoft.Bcl.Build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317569. MyProject.Cloud
Run Code Online (Sandbox Code Playgroud)
这里的问题是云项目不能引用NuGet包.在互联网搜索时,我发现这是向微软报告的:
但该报告因"不会修复"而被关闭.他们给出了解决方法,并实际引用了StackOverflow:
警告:所有引用MyProject.csproj的项目都必须安装nuget包Microsoft.Bcl.Build
我尝试了解决方法,实际上这是来自我的云项目CCPROJ文件:
<ItemGroup>
<ProjectReference Include="..\MyProject\MyProject.csproj">
<Name>MyProject</Name>
<Project>{77ACF4A4-5F19-40E9-991D-BDB09B175366}</Project>
<Private>True</Private>
<RoleType>Web</RoleType>
<RoleName>MyProject</RoleName>
<UpdateDiagnosticsConnectionStringOnPublish>True</UpdateDiagnosticsConnectionStringOnPublish>
<Properties>SkipValidatePackageReferences=true</Properties>
</ProjectReference>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
如您所见,我将SkipValidatePackageReferences属性设置为true.然而,即便如此,我仍然得到同样的警告.我的解决方案实际上有多个云项目,它们都有同样的问题.我在这里做错了吗?
我尝试了通常 - 删除我的bin和obj目录,重新启动Visual Studio和机器.我真正想做的就是压制这个烦人的警告信息.
谢谢
此页面(https://docs.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities)说:
请注意,$filter 字符串中不允许进行超过 15 次的离散比较。
然而,在我的实验中,我达到了这个限制并且没有任何副作用。例如,这是来自 Azure 存储资源管理器:
storageacct/table 的统计信息(“PartitionKey eq '1' or PartitionKey eq '2' or PartitionKey eq '3' or PartitionKey eq '4' or PartitionKey eq '5' or PartitionKey eq '6' or PartitionKey eq '7' or PartitionKey eq '8' 或 PartitionKey eq '9' 或 PartitionKey eq '10' 或 PartitionKey eq '11' 或 PartitionKey eq '12' 或 PartitionKey eq '13' 或 PartitionKey eq '14' 或 PartitionKey eq '15' 或 PartitionKey eq ' 16' 或 PartitionKey eq '17' 或 …
我正在使用 Visual Studio 2019 预览版 2.1。我有一个 .NET Framework 4.6.1 类库 C# 项目,它在旧的 csproj 项目格式(ToolsVersion="15.0")中有一些 Azure 引用。这个旧的 csproj 目前构建和工作得很好。我正在尝试迁移到新的项目格式。一切都很顺利,除了我有一个不是来自 NuGet 的参考资料——它来自 GAC:Microsoft.WindowsAzure.ServiceRuntime。但是,我还没有弄清楚如何获取新的项目格式来查找程序集。例如这里是新的项目文件:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<TargetFramework>net461</TargetFramework>
</PropertyGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.KeyVault" Version="2.3.2" />
<PackageReference Include="Microsoft.Azure.KeyVault.Core" Version="1.0.0" />
<PackageReference Include="Microsoft.Azure.KeyVault.WebKey" Version="2.0.7" />
<PackageReference Include="Microsoft.IdentityModel.Clients.ActiveDirectory" Version="3.19.1" />
<PackageReference Include="Microsoft.Rest.ClientRuntime" Version="2.3.8" />
<PackageReference Include="Microsoft.Rest.ClientRuntime.Azure" Version="3.3.7" />
<PackageReference Include="Microsoft.WindowsAzure.ConfigurationManager" Version="3.2.3" />
<PackageReference Include="Newtonsoft.Json" Version="10.0.2" />
<PackageReference Include="WindowsAzure.Storage" Version="9.0.0" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.WindowsAzure.ServiceRuntime, Version=2.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System" …Run Code Online (Sandbox Code Playgroud) 在一个项目中我有以下参考布局:
References
+- AssemblyA 6.7.6643.0
+- AssemblyB
| \- AssemblyA 7.0.0.0
\- AssemblyC
\- AssemblyA 7.0.0.0
Run Code Online (Sandbox Code Playgroud)
AssemblyB 和 AssemblyC 是没有降级的 NuGet 引用。由于我无法控制的情况,升级 AssemblyA 不是一个选择。但我收到这个警告:
发现“AssemblyA”不同版本之间存在无法解决的冲突。当日志详细程度设置为详细时,这些引用冲突会在构建日志中列出。
所以我就这样做了,这就是输出:
“AssemblyA,版本=6.7.6643.0”和“AssemblyA,版本=7.0.0.0”之间存在冲突。选择“AssemblyA,Version=6.7.6643.0”是因为它是主要的,而“AssemblyA,Version=7.0.0.0”不是。依赖于“AssemblyA,Version=6.7.6643.0”的引用[AssemblyA.dll]。AssemblyA.dll 项目文件项包含引起引用的“AssemblyA.dll”。AssemblyA,版本=6.7.6643.0 依赖于“AssemblyA,版本=7.0.0.0”的引用[]。AssemblyB.dll 项目文件项包含引起引用的“AssemblyB.dll”。AssemblyB,版本=7.0.0.0 AssemblyC.dll 项目文件项包括引起引用“AssemblyC.dll”。AssemblyC,版本=9.0.0.0
它选择了我想要的版本,但我仍然在 Visual Studio 中收到警告。所以我更新了 app.config 绑定重定向,希望它能消除警告:
<dependentAssembly>
<assemblyIdentity name="AssemblyA" publicKeyToken="..." culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="6.7.6643.0" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)
但警告仍然存在。我已经确认,如果我将 AssemblyA 升级到 7.0.0.0,它会导致警告消失。但正如我之前所说,由于我无法控制的其他原因,我现在无法升级此程序集。
是否有办法仅针对这一特定情况抑制此警告?
谢谢
.net msbuild visual-studio-express visual-studio visual-studio-2017
如果我在SQLite3中这样做:
SELECT *
FROM (VALUES (1), (2), (3)) AS "tbl.col"
WHERE "tbl"."col" = 1
Run Code Online (Sandbox Code Playgroud)
我得到:没有这样的专栏:tbl.col
正确的方法是什么?
谢谢!
我想在 Docker 容器上安装 Access Runtime,但这样做失败了。以下是重现错误的基本命令。
首先使用新的 Windows 容器启动交互式 shell:
docker container run -it mcr.microsoft.com/windows:1809-amd64 cmd.exe
Run Code Online (Sandbox Code Playgroud)
接下来运行以下脚本来重现:
cd /d C:\
curl https://download.microsoft.com/download/D/B/D/DBD20EF9-A945-4768-AEB0-617BCEA2214A/accessruntime_4288-1001_x64_en-us.exe -o accessruntime_4288-1001_x64_en-us.exe
accessruntime_4288-1001_x64_en-us.exe /quiet /extract:C:\AccessRuntime
echo ^<Configuration Product="AccessRT"^> > accessruntime_4288-1001_x64_en-us.config
echo ^<Display Level="None" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" /^> >> accessruntime_4288-1001_x64_en-us.config
echo ^<Logging Type="standard" Path="C:\Windows\Temp\" Template="Microsoft_Access_2016_Runtime_Setup(*).log" /^> >> accessruntime_4288-1001_x64_en-us.config
echo ^<COMPANYNAME Value="Company Name" /^> >> accessruntime_4288-1001_x64_en-us.config
echo ^<Setting Id="SETUP_REBOOT" Value="Never" /^> >> accessruntime_4288-1001_x64_en-us.config
echo ^</Configuration^> >> accessruntime_4288-1001_x64_en-us.config
del C:\Windows\Temp\Microsoft_Access_2016_Runtime_Setup*.log
cmd /C C:\AccessRuntime\setup.exe /config C:\accessruntime_4288-1001_x64_en-us.config
echo Access Runtime Setup exited with code: …Run Code Online (Sandbox Code Playgroud) 我正在制作一个可注入服务(即使用 IServiceCollection.AddSingleton 添加...),它与自定义全局操作过滤器一起使用。换句话说,我需要添加过滤器:
services.AddControllers(mvcOptions =>
{
mvcOptions.Filters.Add<MyActionFilter>();
});
Run Code Online (Sandbox Code Playgroud)
但我还需要注册我的组件:
services.AddSingleton<IMyService, MyService>();
Run Code Online (Sandbox Code Playgroud)
这一切都很好。但是,现在我需要将此注册打包以便在多个项目中重复使用。为此,我想制作一个小助手,可以执行我所有的注册,例如:
services.AddControllers(mvcOptions =>
{
mvcOptions.AddMyService(services);
});
// or
services.AddMyService();
Run Code Online (Sandbox Code Playgroud)
基本上,此注册的使用者不需要关心操作过滤器和我的服务的关系——只需要关心我的服务可以通过依赖注入来解析。
问题是,AddControllers 中的回调在图表构建后被调用,因此在该上下文中添加我的服务没有帮助。但我也无法在 AddControllers 回调范围之外添加我的操作过滤器(据我所知)。
有没有一种方法可以完成我想要做的事情,而不是需要我的消费者调用两个注册方法?
谢谢!
假设我有以下 Cosmos DB 容器,其中包含可能的文档类型分区:
{
"id": <string>,
"partitionKey": <string>, // Always "item"
"name": <string>
}
Run Code Online (Sandbox Code Playgroud)
{
"id": <string>,
"partitionKey": <string>, // Always "group"
"items": <array[string]> // Always an array of ids for items in the "item" partition
}
Run Code Online (Sandbox Code Playgroud)
我有一个“组”文档的 ID,但我没有该文档本身。我想做的是执行一个查询,为我提供“组”文档引用的所有“项目”文档。
我知道我可以执行两个查询:1)检索“group”文档,2)在“item”分区上使用 IN 子句执行查询。
由于除了获取 id 列表之外,我不关心“组”文档,因此是否可以构造一个查询来仅使用“组”文档 id 来获取我想要的所有“项目”文档?
msbuild ×2
.net ×1
asp.net-core ×1
azure ×1
azure-devops ×1
c# ×1
docker ×1
installation ×1
ms-access ×1
nuget ×1
sql ×1
sqlite ×1