我已经配置了我的 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 身份验证框以引导用户完成多因素身份验证?
我正在Xamarin.Forms为iOS、Android和开发应用程序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吗?
所以我有一些XML:
<key>my tag</key><value>my tag value 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,是无效字符.
说我有一个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?
我有两次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万个刻度.
因此,我需要将数字减少到最接近的一千万.
这可能吗?
我正在构建一个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?
我在运行我的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,如下所示:
Run Code Online (Sandbox Code Playgroud)Windows.Storage.StorageFolder installedLocation = Windows.ApplicationModel.Package.Current.InstalledLocation
所以我认为我的代码会起作用.所以我的问题是如何使用UWP应用程序创建文件夹?
我正在尝试优化我的Xamarin.Forms应用程序并观看此视频:Optimizing App Performance with Xamarin.Forms它提到了以下内容:
从内容而不是资源加载图像
查看此链接:使用图像我看不到从内容加载仅从资源加载的提及
所以我的问题是“从内容加载图像”是什么意思?我该怎么做?
我使用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扩展),因此我的托管计算机上不存在意味着引用被破坏我试图将相应的文件添加到源代码控制并直接从源代码引用它控制.但我不知道它实际上引用的是什么,因为它没有说.参考资料的属性如下:
好的,我有一个包含三列的表格:
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]
c# ×7
xamarin ×3
sql-server ×2
azure ×1
azure-devops ×1
datetime ×1
enums ×1
flags ×1
ios ×1
sql ×1
sqlite-net ×1
tfs ×1
tfsbuild ×1
uwp ×1
xamarin.ios ×1
xml ×1
xmlreader ×1