小编use*_*er1的帖子

如何使用 Active Directory 登录和多重身份验证 (MFA) 连接到数据库

我已经配置了我的 Azure SQL Server,以便我成为服务器管理员,我的帐户也启用了 MFA。我试图遵循此文档,但它没有提及任何有关具有 MFA 的 Active Directory 的内容。

我可以使用我的帐户和 MFA 使用 SQL Management studio 正常登录服务器

最初我尝试过(基于新的SqlAuthenticationMethod Enum):

SqlConnection con = new SqlConnection("Server=tcp:myapp.database.windows.net;Database=CustomerDB;Authentication=Active Directory Interactive;Encrypt=True;UID=User@User.co.uk"))
Run Code Online (Sandbox Code Playgroud)

错误:

“找不到‘ActiveDirectoryInteractive’的身份验证提供程序。”

然后我看到了有关通过 Azure 应用程序访问 SQL 的信息,但这不是我想要做的。

这个SO问题讨论了在没有提供者的情况下进行连接并Driver在连接字符串中设置

SqlConnection con = new SqlConnection("DRIVER={ODBC Driver 17 for SQL Server};Server=tcp:myapp.database.windows.net;Database=CustomerDB;Authentication=Active Directory Interactive;Encrypt=True;UID=User@User.co.uk"))
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

“不支持关键字:‘驱动程序’。”

是否有办法编写一个连接字符串,以便在尝试连接时弹出 Microsoft 身份验证框以引导用户完成多因素身份验证?

c# sql-server authentication azure azure-sql-database

8
推荐指数
1
解决办法
2万
查看次数

是否可以在应用程序级别挂钩硬件键盘事件?

我正在Xamarin.FormsiOSAndroid和开发应用程序UWP

我想在应用程序级别(而不是单个页面级别(因为它是一个 Xamarin.Forms 应用程序))挂钩硬件键盘事件,以便当用户按下键盘上的某个键时,我可以在我的应用程序中调用一个操作。

在 Android 上,我使用以下事件在MainActivity:.

public override bool OnKeyUp([GeneratedEnum] Keycode keyCode, KeyEvent e)
{
    //process key press
    return base.OnKeyUp(keyCode, e);
}
Run Code Online (Sandbox Code Playgroud)

有等价的Xamarin iOS吗?

c# xamarin.ios ios xamarin xamarin.forms

7
推荐指数
1
解决办法
3991
查看次数

如何阻止XMLReader抛出无效的XML字符异常

所以我有一些XML:

<key>my tag</key><value>my tag value &#xB;and my invalid Character</Value>

和XMLReader:

using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
     while (reader.Read())
     {
         //do my thing
     }
}
Run Code Online (Sandbox Code Playgroud)

我已经从这里实现了CleanInvalidCharacters方法,但由于" "尚未编码,因此不会被删除.

读者会抛出错误.阅读(); 有异常的行:

十六进制值0x0B,是无效字符.

c# xml xmlreader invalid-characters

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

如何从[Flag]枚举属性中检索值?

说我有一个enum这样的定义:

[Flags]
public enum LogLevel
{
    None = 1,
    Pages = 2,
    Methods = 4,
    Exception =8
}
Run Code Online (Sandbox Code Playgroud)

和一个类似的类:

public static class Log
{
    public static LogLevel Level = LogLevel.Methods | LogLevel.Pages;

    public static void EnterPage([CallerFilePath]string filePath = "")
    {
        if (Level == //What value here to check if Level includes Pages?)
        {
             //Log
        }
    }
Run Code Online (Sandbox Code Playgroud)

我需要等于什么值Level来检查枚举是否包含Pages

c# enums flags

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

如何在不转换为datetime的情况下截断"Ticks"的毫秒数?

我有两次Ticks这样:

//2016-01-22?T17:34:52.648Z
var tick1 = 635890808926480754;

//2016-01-22?T17:34:52.000Z
var tick2 = 635890808920000000;
Run Code Online (Sandbox Code Playgroud)

现在你可以看到比较这两个数字 tick1 == tick2 returns false

虽然日期是相同的(除了毫秒).

我想截断这些数字的毫秒数而不将其转换为日期时间(因为这会降低效率)

我看过Math.Round,它说:

将值舍入为最接近的整数或指定的小数位数.

还有Math.Truncate我认为我不需要做什么.

看着Datetime.Ticks它说:

单个刻度表示一百纳秒或一千万分之一秒.一毫秒内有10,000个刻度,或者一秒钟内有1000万个刻度.

因此,我需要将数字减少到最接近的一千万.

这可能吗?

c# datetime

6
推荐指数
2
解决办法
715
查看次数

是否可以在Xamarin.Forms中将一种颜色资源指向另一种颜色资源?

我正在构建一个Xamarin Forms应用程序,目前正在草拟我的应用程序Resources,主要是我的颜色。

例如,我有以下内容:

  <Color x:Key="Slate">#404040</Color>
  <Color x:Key="Blue">#458623</Color>

  <Color x:Key="SelectedItemColour">#458623</Color>
Run Code Online (Sandbox Code Playgroud)

如您所见,我SelectedItemColour与相同Blue

我尝试了以下方法,但是没有用:

  <Color x:Key="Slate">#404040</Color>
  <Color x:Key="Blue">#458623</Color>

  <Color x:Key="SelectedItemColour" Color="{StaticResource Blue}"/>
Run Code Online (Sandbox Code Playgroud)

我知道WPF你能不能按照这里所说的答案

是否可以在Xamarin.Forms中将a Colour Resource指向另一个Colour Resource

c# xamarin xamarin.forms

6
推荐指数
2
解决办法
2170
查看次数

如何在UWP应用程序中创建文件夹?

我在运行我的UWP应用程序时尝试创建.

我有以下代码:

string documentsPath = Package.Current.InstalledLocation.Path;
System.Threading.ManualResetEvent mre = new System.Threading.ManualResetEvent(false);
Task.Factory.StartNew(async () =>
{
    await Package.Current.InstalledLocation.CreateFolderAsync("Data");
    mre.Set();
});
mre.WaitOne();
Run Code Online (Sandbox Code Playgroud)

但是这条线:

await Package.Current.InstalledLocation.CreateFolderAsync("Data");
Run Code Online (Sandbox Code Playgroud)

抛出以下错误:

"访问被拒绝.(HRESULT异常:0x80070005(E_ACCESSDENIED))"}

查看此链接:UWP文件访问权限,它指出以下内容:

创建新应用程序时,默认情况下可以访问以下文件系统位置:

应用安装目录.用户系统上安装应用程序的文件夹.

在应用程序的安装目录中有两种主要方法来访问文件和文件夹:

您可以检索代表应用程序安装目录的StorageFolder,如下所示:

Windows.Storage.StorageFolder installedLocation = Windows.ApplicationModel.Package.Current.InstalledLocation
Run Code Online (Sandbox Code Playgroud)

所以我认为我的代码会起作用.所以我的问题是如何使用UWP应用程序创建文件夹?

c# win-universal-app uwp windows-10-universal

6
推荐指数
2
解决办法
7353
查看次数

从 Content 而不是 Resource 加载资源是什么意思?

我正在尝试优化我的Xamarin.Forms应用程序并观看此视频:Optimizing App Performance with Xamarin.Forms它提到了以下内容:

在此处输入图片说明

从内容而不是资源加载图像

查看此链接:使用图像我看不到从内容加载仅从资源加载的提及

所以我的问题是“从内容加载图像”是什么意思?我该怎么做?

xamarin xamarin.forms

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

在使用Hosted TFS池构建UWP应用程序时找不到SDK SQLite.UWP.2015

我使用Sqlite构建了一个UWP应用程序.在我的本地机器上,我必须为通用Windows平台 Visual Studio扩展安装以下SQLite才能构建它.在UWP上使用sqlite时,我关注了这个博客

我现在正在尝试实现与Visual Studio Team Services的持续集成(Team Foundation Server Online).

我使用托管池来构建我的应用程序,但我收到以下消息:

C:\ Program Files(x86)\ MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(2049,5):错误MSB3774:找不到SDK"SQLite.UWP.2015,Version = 3.12.2".

它打破了构建.

如何在托管池上修复此问题?我没有物理访问机器,因为这是由TFS在线管理

编辑:

发现这是一个安装在我的本地机器上的库(通过Visual Studio扩展),因此我的托管计算机上不存在意味着引用被破坏我试图将相应的文件添加到源代码控制并直接从源代码引用它控制.但我不知道它实际上引用的是什么,因为它没有说.参考资料的属性如下:

在此输入图像描述

tfs tfsbuild sqlite-net win-universal-app azure-devops

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

SQL查询Where Column =''返回表情符号字符和

好的,我有一个包含三列的表格:

Id, Key, Value
Run Code Online (Sandbox Code Playgroud)

我想删除所有Value空行('')的行.因此我在删除之前编写了要选择的查询,其中包括:

Select * from [Imaging.ImageTag] where [Value] = ''

到目前为止所有相当标准......

现在这是一个奇怪的部分.此查询返回两行,如下所示,使用逗号分隔列:

CE7C367C-5C4A-4531-9C8C-8F2A26B1B980,   ObjectType,  
F5B2F8A8-C4A8-4799-8824-E5FFEEDAB887,   Caption,    
Run Code Online (Sandbox Code Playgroud)

为什么这两行匹配''

额外信息

我使用的是Sql-Server,[Value]列是类型的NVARCHAR(300),是表名的确是[Imaging.ImageTag]

sql sql-server

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