升级到 net5 后,我收到过时警告:
[CS0618] 'HttpRequestMessage.Properties' is obsolete: 'Use Options instead.'
但是似乎没有迁移指南。
即有以下代码
httpRequestMessage.Properties.Add(Key, Value);
Run Code Online (Sandbox Code Playgroud)
具体应该如何迁移呢?是
httpRequestMessage.Options.Set(new HttpRequestOptionsKey<TValue>(Key), Value);
Run Code Online (Sandbox Code Playgroud)
正确的?
我的集成测试依赖于 redis。他们包含了 dockerfile,所以一切都可以在 CI 中运行。但是,当从测试资源管理器本地运行时,我必须手动启动 redis 容器。
IDE 是否有可能在 docker 容器中自动运行/调试测试,因此当尝试在 IDE 中运行/调试测试(或者甚至使用 dotnet 测试)时,所有内容都在 docker 中运行?
请注意,我想在 docker 中运行/调试测试,而不是在测试中运行/调试测试。
我知道它位于HttpContext.Request.PathBase,但是在我有任何HttpContext(in Startup.cs)之前我需要它来配置我的cookie .
我的问题:
当devops配置应用程序时,他们必须设置两次路径.一旦进入IIS应用程序(所以托管知道应该提供什么)和我的appsettings.json(所以应用程序知道在哪里设置cookie - 多个实例可以在服务器上工作).我想在IIS中配置一次,并将配置传递给我的应用程序.
它们是如何连接的?我可以使用HttpContext.SignInAsync, 然后HttpContext.User设置为提供的身份,但是我有一个身份和多种身份验证方式 - 如果用户以客户身份登录然后移动到 AdminPanel 会怎样?
基本上我需要像旧的asp.net
@helper MakeNote(string content) {
<p><strong>Note</strong> @content </p>
}
Run Code Online (Sandbox Code Playgroud)
或JSX
MakeNote(note) {
return (<div>Note {note}</div>);
}
Run Code Online (Sandbox Code Playgroud)
部分视图不是一种选择.我很满意返回IHtmlString的函数,或写入底层编写器的函数.
它还需要在函数内部支持Razor语法(不仅仅是字符串连接).
我正在尝试将 ReactiveUI 与 Avalonia 一起使用。由于 Avalonia 0.10 预览版中的初始化顺序,以下代码失败:
class ViewModel : IActivatableViewModel
{
public ViewModel(){
this.WhenActivated(disposables => {
_myProperty = observable.ToProperty(this, nameof(MyProperty)).DisposeWith(disposables).
});
}
private ObservableAsPropertyHelper<object> _myProperty = null!;
public object MyProperty => _myProperty.Value;
}
Run Code Online (Sandbox Code Playgroud)
因为WhenActivated在视图绑定到 viewModel 之后调用(因此 _myProperty 为 null)。
我认为没有简单的解决方法需要大量的修改、手动提高属性等等。
所以问题是:
如何在 Avalonia 中使用 OAPH 和 WhenActivated?
dotnet test默认使用 trx 输出。我正在使用trx2junit将其转换为 junit,但这会使 CI 设置变得复杂。
是否可以直接从 dotnet test 输出 junit 格式的测试报告?
我的应用程序经常失败,无法取消保护会话cookie(我正在使用两个具有不同程序集版本的应用程序)。
取消保护会话Cookie时出错。在钥匙圈中找不到钥匙{hex_key}。
要么
System.InvalidOperationException:无法伪造令牌。---> System.Security.Cryptography.CryptographicException:在密钥环中找不到密钥{hex_key}。
反伪造错误会在获取请求时发生(因此,在那里没有任何保护)。如何忽略此类错误并为用户显示页面(使用新会话)?
我通常对web服务器进行编程,起初我认为必须有连续的方法链来返回任务,所以堆栈中的内容可能会询问数据库是否完成.
最近我看到了wpf代码,它做了类似的事情:
public async void Execute(object parameter)
{
await ExecuteAsync(parameter);
}
Run Code Online (Sandbox Code Playgroud)
在事件处理程序中调用.UI似乎是响应式的,所以我猜它确实有效.它是如何工作的?这如何转化为aspnet?
我想在代码生成器中实现接口,因此我需要转换Microsoft.CodeAnalysis.Accessibility(即从ISymbol.DeclaredAccessibility)到它们所表示的修饰符关键字。
该枚举在代码分析 API 中用于描述类或其成员的访问修饰符。
例如,如果你有public void MyMember()它的ISymbol.DeclaredAccessibility意志Accessibility.Public。我需要创建这样的方法声明,因此我需要一种转换Accessibility.Public为public等的方法(请注意, justToLower只适用于简单的情况,它不会生成protected internal)。
正确的做法是什么?
c# ×6
asp.net-core ×3
.net-5 ×2
async-await ×1
avalonia ×1
avaloniaui ×1
docker ×1
dotnet-cli ×1
razor ×1
reactiveui ×1
roslyn ×1