小编xak*_*akz的帖子

我应该如何使用Azure移动服务与PCL或现在没有它?

我更新到Xamarin的最新版本,其中PCL是"完全支持的".我现在如何使用Azure移动服务?

如果我创建PCL lib和试图用的NuGet添加它安装失败"Newtonsoft.Json 5.0.8",因为它需要"便携式net45 + WP80 + MonoAndroid10 + MonoTouch10"的缺失.

如果我创建简单的android lib并从组件中添加Azure,则生成除了:

System.InvalidOperationException:找不到当前平台的Windows Azure移动服务程序集.确保...

 public static MobileServiceClient MobileService = new MobileServiceClient(
    "https://no-link-here.azure-mobile.net/",
    "no-key-here");    
Run Code Online (Sandbox Code Playgroud)

azure portable-class-library xamarin

11
推荐指数
2
解决办法
6796
查看次数

如何将自定义 JavaScript 添加到 Azure AD B2C 登录流程

我想将自定义 JS 添加到 Azure AD B2C 流程,但我不知道如何执行此操作。

我认为文档读了十遍,但仍然不明白。

到目前为止我所理解的

  1. 我有注册并登录(推荐)用户流程
  2. 我在属性中启用了JavaScript 强制页面布局(预览)
  3. 我为本地帐户注册页面选择了2.1.2页面布局版本这是Azure AD B2C提供的包含HTML、CSS和JavaScript的打包内容的版本

据我现在了解的文档,我能够以某种方式将 JavaScript 注入登录页面,而无需使用自定义页面内容选项。

文档指出要做到这一点我需要

将此代码段包含到自断言页面的注册或登录模板中

我可以在哪里以及如何做到这一点?

azure azure-ad-b2c

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

在.net 4.0中启动任务的正确方法

我有一个类的方法,Task<byte[]> DoSmthAsync() 当我尝试从ViewModel ICommand void方法启动此任务时,它同步启动

void DoSomeCommand()
{
  //log managed thread id ...
  _someClass.DoSmthAsync().ContinueWith(resultTask => ...);
}
Run Code Online (Sandbox Code Playgroud)

如果我在外部和内部任务中记录CurrentThread.ManagedThreadId它看起来是相同的

Thread #9 - outside
Thread #9 - inside task
Thread #4 - inside inside task // does not matter
Thread #9 - continuation
Run Code Online (Sandbox Code Playgroud)

以异步方式启动此任务我被迫创建具有() => _someClass.DoSmthAsync().ContinueWith(resultTask => ...)操作的新任务并调用Start()它,但我认为这是错误的方法.

我使用.NET 4.0,不能使用async-await,我从来没有遇到过这样的问题顺便说一句.

内部任务创建于TaskCompletionSource:

public Task<byte[]> ProcessDataFromPortAsync(byte[] outData)
{
  var tcs = new TaskCompletionSource<byte[]>();
  // some event handling  ... 
  WritePortData(outData);
  return tcs.Task;
}
Run Code Online (Sandbox Code Playgroud)

c# task-parallel-library

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

替换WebApplicationFactory中的DbContext进行单元测试

我需要替换 WebApplicationFactory 中的上下文。我有 MyDbContext,我想用 SQLite 上下文替换它以进行测试。

更换部件工作正常

.ConfigureServices(services =>
  {
    // Remove the app's ApplicationDbContext registration.
    var descriptor = services.SingleOrDefault(d => d.ServiceType == typeof(DbContextOptions<MyDbContext>));

    if (descriptor != null)
    {
      services.Remove(descriptor);
    }
    
    services.AddDbContext<MyDbContext>(builder =>
    {
      builder.UseSqlite(CreateInMemoryDatabase());
    });
  });
Run Code Online (Sandbox Code Playgroud)

但因为我在测试中从 Npgsql 迁移到 SQLite,所以我需要覆盖 OnModelCreating 中的一些默认值。我创建了一个新的数据库上下文类

public class MySqlLiteDbContext: MyDbContext
    {
        public MySqlLiteDbContext(DbContextOptions<MyDbContext> options) : base(options)
        {
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            modelBuilder.Entity<Record>()
                .Property(b => b.DateCreated)
                .HasDefaultValueSql("(datetime('now'))");

            ...
        }
    }
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以注入MySqlLiteDbContext而不是MyDbContext强制 EnsureCreated 用于OnModelCreatingSQLite?提取是IMyDbContext …

unit-testing entity-framework-core .net-core asp.net-core

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

如何有效地检测字符串中的代理对?

我需要检测数十万个不同长度的字符串中的代理对。

我想知道什么是最快、最有效的方法来做到这一点。

    string srcString = " = ";
    var hasSurrogate = srcString.Any(c => '\uD800' <= c && c <= '\uDFFF');
Run Code Online (Sandbox Code Playgroud)

Any其 O(n) 速度运行良好,但也许有更有效的方法来做到这一点

.net c# unicode performance

5
推荐指数
2
解决办法
497
查看次数

Random System.ArgumentException:'jobject'不能是IntPtr.Zero

我们System.ArgumentException在Android上随机使用Xamarin.它完全随机 - 它可以随时随地在任何平台上发生.我们在5.1,5.0,4.4.4上注册了它.

它没有足够的堆栈跟踪,它没有抛出的地方,我无法用任何东西捕获它.我认为它可能以某种方式相关async void,我们在项目中使用MVVMCross,有许多async void Initasync void DoMvxCommand方法.但所有这些都包含在try-catch块中.

我至关重要地需要任何建议如何修复或至少找到这次崩溃的原因.这是最新的崩溃日志

undefined   INFO:   ActivityManager : Displayed com.website.app/md599d9a15f782f9118e8e70c354562b227.SuccessPaymentView: +220ms
undefined   WARN:   ContextImpl : Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1629 com.android.server.InputMethodManagerService$6.run:2728 java.lang.Thread.run:818 <bottom of call stack> <bottom of call stack>


undefined   WARN:   ActivityManager : mDVFSHelper.release()
undefined   INFO:   Timeline : Timeline: Activity_windows_visible id: ActivityRecord{1aca0d50 u0 com.website.app/md599d9a15f782f9118e8e70c354562b227.SuccessPaymentView t5672} time:169720248

undefined   INFO:   MonoDroid : UNHANDLED EXCEPTION:

undefined   INFO:   MonoDroid : System.ArgumentException: 'jobject' …
Run Code Online (Sandbox Code Playgroud)

android mvvmcross xamarin

4
推荐指数
1
解决办法
1525
查看次数

如何在ASP.NET MVC 6(SIX)代码中获取bin或wwwroot目录

在ASP.NET MVC 5中,我使用了

_myStem = new MyStemWrapper(Path.Combine(HttpRuntime.AppDomainAppPath, "mystem.exe"));
Run Code Online (Sandbox Code Playgroud)

获取文件路径。

在ASP.NET MVC 6中,我无法以相同的方式获取路径。我需要在所有请求之前获取路径,因为我的包装器是IOC创建的单例

var d = AppDomain.CurrentDomain; // some path to C:\Users\username\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta5\bin
var r = HttpRuntime.BinDirectory; // ArgumentNullException
var r2 = HttpRuntime.AppDomainAppPath; // ArgumentNullException
var ap = Apllication.StartupPath; // Application class missing
var s = Server.MapPath("~/") // Server class missing
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc asp.net-core-mvc

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