我正在使用SwaggerResponse属性来装饰我的api控制器动作,这一切都运行正常,但是当我查看生成的文档时,参数的描述字段为空.
是否有基于属性的方法来描述操作参数(而不是XML注释)?
我有一个包含多个项目的Visual Studio解决方案,每个项目都是一个单独的微服务。对于开发团队来说,将所有服务都放在同一解决方案和git repo中非常方便,因为服务可以相互调用。
Master.sln - SubFolderA - MicroserviceA.sln
- SubFolderB - MicroserviceB.sln
- SubFolderC - MicroserviceC.sln
Run Code Online (Sandbox Code Playgroud)
但是,我想在Azure DevOps发生更改时独立构建/发布单个微服务,因此,如果ServiceA是唯一要更改的服务,则ServiceA是唯一构建和部署的服务。
为此,我创建了一个新的构建管道定义,其中设置了“路径过滤器”,以在微服务文件夹的内容更改时触发构建(因此,要监视的每个微服务都添加了一个路径过滤器)。
我的问题是,当触发构建时(例如,基于对SubFolderA的更改),我无法告诉构建定义仅在SubFolderA中构建.sln文件。
我可以为每个微服务创建一个单独的构建定义,并在单独的子文件夹上触发每个构建,但这会产生很大的开销,即我需要维护15个单独的构建定义(对于我构建的每个分支也是如此),以及所需的存储空间在我们的自托管构建代理上,现在将是NumberOfService x NumberOfBranchesBeingBuild x SizeOfRepo。
有没有一种方法可以使用带有git“路径过滤器”和多个定义路径的单个构建定义,这反过来又启动了多个构建实例,并将触发构建的路径的值输入到构建定义中,因此告诉构建实例要建立哪个.sln文件?
我希望这是有道理的!
我有一个 angular 2 rc6 应用程序,该应用程序使用 angular 2 路由器将组件加载到路由器插座中。这一切通常都很好,但我的问题是,当用户点击他们已经被路由到的页面的链接 [routerLink] 时,他们希望组件重新加载。
重新加载组件似乎不是 angular 2 路由器的默认行为,相反,它似乎识别出该组件已经是当前组件并且什么都不做,有谁知道如何更改它?
鉴于cosmos db不支持group by,有什么是实现类似功能的好方法:
Select sum(*) , groupterm from tble group by groupterm
Run Code Online (Sandbox Code Playgroud)
我可以在宇宙存储过程中有效地实现这一点吗?
我不能再使用Visual Studio 2015将我的应用程序部署到Windows IoT进行调试(Raspberry Pi 3).昨天一切正常,今天我收到错误:
DEP6956:由于协议不兼容,无法建立与设备的连接.请重试,如果此错误仍然存在,请尝试重新启动目标设备.设备支持协议'Sirep2'.
我已经尝试将端点设置为IP地址和设备名称.我正在使用Windows IoT的最新内幕预览版.
我仍然可以在浏览器中使用App Manager连接到设备,也可以使用IoT仪表板.
知道是什么原因引起的吗?
我刚刚将所有.net核心软件包升级到asp.net核心1.1.与此同时,我认为我将实现新发布的响应压缩中间件.但是,当我查看浏览器开发工具(网络流量)时,无论是否使用压缩,我都可以看到响应大小没有差别.此外,没有"Content-Encoding"类型的响应头,表明发生了压缩.
还有什么我应该在这里做这个工作吗?
我的代码如下:
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddMvc(options => {
options.CacheProfiles.Add("Never",
new CacheProfile()
{
Location = ResponseCacheLocation.None,
NoStore = true,
Duration = 0
});
});
services.AddResponseCompression();
Run Code Online (Sandbox Code Playgroud)
和:
public void Configure(IApplicationBuilder appBuilder)
{
appBuilder.UseResponseCompression();
appBuilder.UseMvc();
Run Code Online (Sandbox Code Playgroud) 我在每个链接上使用 Angular2 和 Angular2 [routerLinkActive] 来设置活动链接。这一切都很好。当用户单击链接时,路线将变为活动状态,并且链接会注入“活动”类,我可以相应地设置样式。
但是,在路线设置中,我设置了默认路线,如下所示:
const routes: Routes = [
{ path: '', redirectTo: 'gettiingstarted', pathMatch: 'full' },
Run Code Online (Sandbox Code Playgroud)
只要页面现在在用户首次导航到页面时成功加载“gettingstarted”组件,这种方法就有效,但不幸的是,路由器链接此时尚未注入“active”类,因此样式不正确。获取活动类的唯一方法是实际单击链接。
有谁知道如何让 [routerLinkActive] 机制在页面加载上工作?
更新 这里是链接本身的代码 html:
<a [routerLink]="['gettingstarted']" [routerLinkActive]="['active']">
Run Code Online (Sandbox Code Playgroud) 我在.net核心网络应用程序中使用App Insights,我可以在应用程序洞察日志中成功查看遥测数据.我现在希望能够推高自己的日志事件,但似乎无法使其工作(即我的自定义日志事件不会出现在应用洞察中).我的代码如下:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddApplicationInsights(app.ApplicationServices);
loggerFactory.AddDebug();
var logger = loggerFactory.CreateLogger<Startup>();
logger.LogInformation("I am a log event");
Run Code Online (Sandbox Code Playgroud)
我也尝试过显式设置日志级别,如:
loggerFactory.AddApplicationInsights(app.ApplicationServices, LogLevel.Debug);
Run Code Online (Sandbox Code Playgroud)
但我从来没有在应用洞察中看到"我是一个日志事件"的文字.
谁能告诉我如何解决这个问题?
我有一个 OPENJSON 命令,它接受解析的 JSON 并将其 LEFT 连接到现有表上。
当我添加 LEFT JOIN 时,出现错误:
“Latin1_General_BIN2”和“SQL_Latin1_General_CP1_CI_AS”之间的排序规则冲突
该表的所有字符串列具有相同的排序规则: SQL_Latin1_General_CP1_CI_AS
我尝试在 LEFT JOIN 中添加 COLLATE DATABASE_DEFAULT,但没有任何改进。
我正在使用的查询大致如下:
DECLARE @json NVARCHAR(MAX) = '
{
"ExampleJson": {
"stuff": [
{
"_program_id": "hello",
"work_date": "2021-03-23 00:00:00"
}
]
}
}';
SELECT *
FROM
OPENJSON
(
(
@json
), '$.ExampleJson.stuff'
)
WITH (
[program_id] NVARCHAR(255) '$."program_id"'
,[work_date] DATETIME '$."work_date"'
) [json_data]
LEFT JOIN
[existing_db_data]
ON [existing_db_data].[program_id] = [json_data].[program_id]
Run Code Online (Sandbox Code Playgroud) 我正在使用 Azure AD B2C 在 AspNetCore RC2 MVC 应用程序中进行身份验证,这部分起作用,因为当我导航到需要身份验证的操作时,我会相应地重定向到 B2C 登录页面。当我成功登录时,我被正确重定向到我的应用程序页面(并且我可以看到查询参数中适当提供的 id_token 字段)。不幸的是,管道身份验证中间件似乎没有正确处理重定向查询参数,因为它立即将我重定向到登录页面。任何人都可以建议吗?
我正在使用的代码如下:
public static void UseOAuth(this IApplicationBuilder app)
{
// By default, all middleware are passive/not automatic. Making cookie middleware automatic so that it acts on all the messages.
app.UseCookieAuthentication( new CookieAuthenticationOptions{ AutomaticAuthenticate = true, CookieSecure = CookieSecureOption.Never });
app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions {
ClientId = B2CAuthentication.ClientId,
ResponseType = OpenIdConnectResponseTypes.IdToken,
Authority = string.Format(CultureInfo.InvariantCulture, B2CAuthentication.AadInstance, B2CAuthentication.PortalTenant, string.Empty, string.Empty),
AuthenticationScheme = "Cookies",
Events = new OpenIdConnectEvents
{
OnAuthenticationFailed = OnAuthenticationFailed,
OnRedirectToIdentityProvider = …Run Code Online (Sandbox Code Playgroud) c# ×3
.net-core ×2
angular ×2
asp.net-core ×1
azure ×1
azure-ad-b2c ×1
azure-devops ×1
git ×1
open-json ×1
swagger ×1
swashbuckle ×1