我正在尝试为以下情况创建一个简洁的解决方案:
我已经构建了一个需要凭据来验证用户身份的应用程序.每当API想要重新验证用户时,我都想强制用户返回登录视图.此功能很有用,但当用户按下设备上的后退按钮时,将显示上一个视图.我想看到当用户按下后退按钮时,应用程序退出.
MvvmCross可以选择使用MvxPresentationHint.我创建了一个CustomAndroidViewPresenter并创建了以下MvxAndroidSetup:
public class Setup : MvxAndroidSetup
{
private CustomAndroidViewPresenter _presenter;
public Setup(Context applicationContext)
: base(applicationContext)
{
_presenter = new CustomAndroidViewPresenter(applicationContext);
}
protected override IMvxAndroidViewPresenter CreateViewPresenter()
{
Mvx.RegisterSingleton(_presenter);
return _presenter;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道你应该调用Finish(); 在一个活动上,以防止后退按钮导航回未经身份验证的视图.但是转换applicationContext会抛出异常.
public CustomAndroidViewPresenter(Context context)
{
_context = context;
}
public override void ChangePresentation(MvxPresentationHint hint)
{
if (hint is LoginOnlyBackStackHint)
{
var context = Application.Context;
if (context is Activity)
{
// Context is NOT activity
}
try
{
Activity x = (Activity) context;
x.Finish();
// …Run Code Online (Sandbox Code Playgroud) 我有一些 Web Api 控制器测试。这些是使用 .NET Core Tests 提供的 WebApplicationFactory 构建的。
打印屏幕 1:全部成功
Print-screen 2:全部失败,除了一个:
所有的测试都包含一个[Theory]传入MemberData来测试各种安全组合。
7) Project.UserRolesControllerTests.GetUserDetailsById_ReturnsConfiguredResult
Duration: 1 ms
Message:
[Test Class Cleanup Failure (Project.Controllers.UserRolesControllerTests)]: System.ObjectDisposedException : The CancellationTokenSource has been disposed.
Stack Trace:
CancellationTokenSource.ThrowObjectDisposedException()
RedisStorage.Dispose()
Disposer.Dispose(Boolean disposing) line 38
Disposable.Dispose() line 32
LifetimeScope.Dispose(Boolean disposing) line 414
Disposable.Dispose() line 32
Container.Dispose(Boolean disposing) line 142
Disposable.Dispose() line 32
AutofacServiceProvider.Dispose() line 121
WebHost.Dispose()
WebApplicationFactory`1.Dispose(Boolean disposing)
WebApplicationFactory`1.Dispose()
Run Code Online (Sandbox Code Playgroud)
我在这里发现了Dotnet Runtime 项目的Github 问题。但是,我不确定这是同一个问题。另外,我似乎无法解决解决方法。
有人有这方面的经验吗?我现在可以手动运行这些测试,但它也将成为 …
我正在尝试为以下要求创建一个简洁的解决方案:
a)当用户"点击"我的应用收到的通知并且应用程序处于打开状态和/或后台时,该应用程序将被带到该字体.
b)当用户"点击"通知并且应用程序关闭时,启动画面会显示并且应用程序将按正常情况启动.
我正在尝试,但我只能在上述任何一个选项中取得成功,而不是两个都不幸.这是我的代码:
public void CreateNotification(string title, string desc, string pushUrl, string pushTitle)
{
var setupSingleton = MvxAndroidSetupSingleton.EnsureSingletonAvailable(ApplicationContext);
setupSingleton.EnsureInitialized();
if (!string.IsNullOrWhiteSpace(pushUrl))
{
var pushMessageParameterService = Mvx.Resolve<IPushMessageParameterService>();
pushMessageParameterService.SetPushActionParameters(new PushActionParameters
{
UrlToShow = pushUrl,
ViewTitle = pushTitle
});
}
var intent = new Intent(this, typeof(SplashScreen));
intent.AddFlags(ActivityFlags.NewTask);
intent.SetAction(Intent.ActionMain);
intent.AddCategory(Intent.CategoryLauncher);
//var pendingIntent = PendingIntent.GetActivity(this, 0, intent, PendingIntentFlags.OneShot);
//var pendingIntent = PendingIntent.GetActivity(this, 0, intent, 0);
var pendingIntent = PendingIntent.GetActivity(this, 0, intent.SetFlags(ActivityFlags.BroughtToFront), PendingIntentFlags.CancelCurrent);
Uri alarmSound = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
var notificationBuilder = new Notification.Builder(this)
.SetSmallIcon(Resource.Drawable.Icon)
.SetContentTitle(title)
.SetContentText(desc) …Run Code Online (Sandbox Code Playgroud) 我在两个 P3V2 实例上的 Azure 应用服务上运行 .NET Core 2.1 Web api。使用 StackExchange Redis 客户端连接到 Azure REDIS 服务 Premium P1。
目前我们的峰值负载约为每秒 7000 个 Web 请求。导致 REDIS 负载为 2.5MB/秒,最大缓存命中值为每分钟 400k(Azure 指标)。
最近我遇到了连接问题,因此我正在调查所有可用的文档: https: //learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-best-practices https:// stackexchange.github.io/StackExchange.Redis/Basics.html
没有可用的连接来服务此操作:GET 语言;无法连接到 Redis 服务器;ConnectTimeout 发生一个或多个错误。(无法连接到 Redis 服务器;ConnectTimeout)(无法连接到 Redis 服务器;ConnectTimeout)无法连接到 Redis 服务器;ConnectTimeout 无法连接到 redis 服务器;连接超时
StackExchange.Redis.RedisConnectionException:在 StackExchange.Redis.ConnectionMultiplexer.ThrowFailed (StackExchange.Redis,版本=1.2.6.0,文化=中性,PublicKeyToken=nullStackExchange.Redis,版本=1.2.6.0,文化=中性,PublicKeyToken=null:c :\ code \ StackExchange.Redis \ StackExchange.Redis \ StackExchange \ Redis \ ConnectionMultiplexer.csStackExchange.Redis,版本= 1.2.6.0,文化=中性,PublicKeyToken = null:2000)在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(系统) .Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e)在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib,版本 = 4.0.0.0,文化 = 中性,PublicKeyToken = 7cec85d7bea7798e)在 Infrastructure.Caching.CacheService+d__8`1.MoveNext
重新启动网络应用程序后,问题就解决了。在 Application Insights 中并查看失败的请求,我无法清楚地看出它是只有一个 api …
我正在尝试使用Mvx在我的Xamarin Android应用程序中运行此动画/过渡.
我有卡片回收查看.点击卡片时,我现在打电话给:
private void TimeLineAdapterOnItemClick(object sender, int position)
{
TimeLineAdapter ta = (TimeLineAdapter) sender;
var item = ta.Items[position];
int photoNum = position + 1;
Toast.MakeText(Activity, "This is photo number " + photoNum, ToastLength.Short).Show();
ViewModel.ShowDetails(item.Id);
}
Run Code Online (Sandbox Code Playgroud)
我试图找到如何翻译这个java导航过渡到Xamarin与Mvvmcross:
ActivityOptionsCompat options =
ActivityOptionsCompat.MakeSceneTransitionAnimation(this, imageView, getString(R.string.activity_image_trans));
startActivity(intent, options.toBundle());
Run Code Online (Sandbox Code Playgroud)
我知道在Mvx中您可以使用自定义演示者,但是如何抓住RecyclerView中的Tapped Card的ImageView,我想在新Activity上"转换"为新的ImageView?
谢谢!
.