小编Maj*_*Dev的帖子

Windows手机8.1本地数据库

我刚开始使用Windows手机"冒险".我想写一些应用程序,但我需要像Local DataBase这样的东西.我该怎么用?我找不到任何解决方案.我尝试过本地数据库,但它在WP 8.1上不可用,我还找到了一个关于使用json的教程,但是这个教程也已经过时了,它不适用于8.1.我只想写一个基于DataBase的小应用程序,其中有一个表可以读取和写入.你可以给我发一个文章链接来解决我的问题吗?

提前致谢.

c# database windows-phone-8.1

6
推荐指数
1
解决办法
7162
查看次数

Azure AD B2C错误 - IDX10501:签名验证失败

我很难尝试使用Azure AD B2C来验证My Web API.我将从一些背景开始

我创建了使用Azure AD B2C对用户进行身份验证的移动应用程序.我正在创建一个显示此URL的WebView: 在此输入图像描述

用户被要求登录azure广告,如果登录数据成功,我收到包含访问令牌的响应 - 这部分顺利进行,一切正常.

现在我想创建后端Web Api.我创建了ASP NET Core Web应用程序,它允许我选择身份验证方法.我选择Azure AD身份验证,以便模板为我生成所有必需的数据.代码中的相关部分在这里: 在此输入图像描述

我更新了所有必需的配置属性以匹配我的azure设置.此时我希望能够使用我在移动应用程序上收到的访问令牌来调用API.我在本地运行移动应用程序,登录,接收访问令牌,复制它并尝试使用邮递员(带有授权标题"Bearer ...")来调用我的web api(在IIS express中托管).不幸的是没有运气 - 我收到401以下标题:

Bearer error ="invalid_token",error_description ="找不到签名密钥"

我认为令牌足以授权API - 我理解这是OAuth的一个重点.我错过了什么吗?我应该有一些额外的配置吗?我注意到配置缺少登录策略(这似乎是AD B2C名称所要求的,所以我尝试添加:

var validationParameters = new TokenValidationParameters
        {
            AuthenticationType = "MY_POLICY", 
        };

        app.UseJwtBearerAuthentication(new JwtBearerOptions
        {
            Authority = Configuration["Authentication:AzureAd:AADInstance"] + Configuration["Authentication:AzureAd:TenantId"],
            Audience = Configuration["Authentication:AzureAd:Audience"],
            TokenValidationParameters = validationParameters
        });
Run Code Online (Sandbox Code Playgroud)

但这也行不通.将不胜感激任何帮助.

编辑

我在Visual Studio日志中发现以下错误:

持票人未经过认证.失败消息:IDX10501:签名验证失败.无法匹配'kid':'...'

c# azure azure-active-directory azure-ad-b2c asp.net-core

6
推荐指数
1
解决办法
2689
查看次数

在单独的线程中加载屏幕的问题

我在Windows窗体中有一个旧的应用程序,它在许多地方对数据库进行一些搜索.有时需要花费很多时间,因此我决定在wpf中创建一个加载屏幕,以向用户显示某些内容正在单独的线程中加载.基本上它只是一个带有加载指示器的全透明窗口(一个转动圆圈).在我的主机和我的虚拟机上一切正常,但当我试图将它部署到我们的演示环境时,就像 - 它开始加载指示器显示,几秒钟之后消失,应用程序就像永远一样停止响应.我的第一个想法是,它是GPU加速的问题,它无法处理透明度,但它被显示几秒钟,所以它不是问题.所以我很可能做坏事.下面你可以看到我的代码,

  public class LoadingManager
  {
    public LoadingManager()
    { }
    public LoadingManager(string LoadingText)
    {
        loadingText = LoadingText;
    }

    private string loadingText = "Please wait ..";
    private Thread thread;
    private bool ThreadReadyToAbort = false;
    private BusyIndicatorView loadingWindow;

    public void BeginLoading()
    {
        this.thread = new Thread(this.RunThread);
        this.thread.IsBackground = true;
        this.thread.SetApartmentState(ApartmentState.STA);
        this.thread.Start();
    }

    public void EndLoading()
    {
        if (this.loadingWindow != null)
        {
            this.loadingWindow.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() =>
            { this.loadingWindow.Close(); }));
            while (!this.ThreadReadyToAbort) { }; // I also tried to remove this while but it …
Run Code Online (Sandbox Code Playgroud)

c# wpf multithreading

5
推荐指数
1
解决办法
311
查看次数

如何从页面级别获取父框架?

我有一个框架和几页的窗口.当窗口加载时,框架将导航到欢迎页面,当我单击欢迎页面内的按钮时,我希望父框架导航到另一个页面.要做到这一点,我需要从页面级访问父框架,但我无法弄清楚如何做到这一点.我尝试下面的代码,但它返回null:

private void myButton_click(object sender, RoutedEventArgs e)
{
  SecondPage secPage = new SecondPage();
  ((this.Parent) as Frame).Navigate(secPage);
}
Run Code Online (Sandbox Code Playgroud)

我检查了'this.parent'返回的是什么,它是null.如何获得父框架,以便我可以从一个页面导航到另一个页面?

c# navigation wpf parent

3
推荐指数
1
解决办法
4893
查看次数

单击ColumnHeader选择整列.WPF DATAGRID

我有一个禁用排序的数据网格.我想要实现的是 - 通过单击列标题我想要选择此列中的所有单元格(选择整列).我已经添加EventSetter到我DataGridColumnHeader的绑定一些方法到Click事件,但我不知道应该如何编写此方法.有任何想法吗?

我的代码:

private void columnHeaderClick(object sender, RoutedEventArgs e)
{
        var columnHeader = sender as DataGridColumnHeader;
        if (columnHeader != null)
        {
            if (dgDane.SelectedCells != null)
            {
                dgDane.SelectedCells.Clear();
            }
            foreach (var item in dgDane.Items)
            {
                dgDane.SelectedCells.Add(new DataGridCellInfo(item, columnHeader.Column));                  
            }
            dgDane.Focus();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我编辑了代码,上面的这个工作正常(感谢@nit).我更加关注DataGrid因为这是必要的.

c# wpf datagrid

0
推荐指数
1
解决办法
4819
查看次数