android - 部分信任环境中的异步 CTP

标签 android .net android-asynctask

有谁知道是否可以“Bin 部署”异步 CTP?

由于 Async 的很大一部分基本上是一个编译器技巧,我认为预编译我的应用程序并将其部署到没有安装 Async CTP 的服务器可能会奏效。不幸的是,事情似乎并没有这么简单。当我尝试调用异步方法时收到以下错误消息:

Task<Result> task = _checker.CheckAsync(input);

“System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1”的类型初始值设定项引发异常。

这并不是我所期望的错误类型,但或许有一些替换程序集可以部署到我的 Bin 目录来解决这个问题?我无法在此(生产)计算机上安装异步 CTP。

更新: 我也包含了 InnerException 的详细信息:

System.MethodAccessException: Attempt by security transparent method 'System.Runtime.CompilerServices.AsyncTaskMethodBuilder1<TResult>..cctor()' to access security critical method 'System.Threading.Tasks.TaskScheduler.add_UnobservedTaskException(System.EventHandler1)' failed. at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1..cctor()

这似乎是一个中等信任问题,而不是一个异步问题?

最佳答案

您还需要部署 AsyncCtpLibrary.dll。我期望这就是所需的全部...您是否已经将其与您的应用一起部署?

TypeInitializerException 的内部异常是什么?

编辑:正如您所说,这看起来像是一个中等信任问题,无论如何安装整个东西都无法解决。可能值得直接向团队提出这个问题(如果你愿意,我可以这样做),以防你的情况在安全方面出现异常。

要验证情况是否如此,您可以尝试为 UnobservedTaskException 添加处理程序你自己在你的代码中的某个地方:

TaskScheduler.UnobservedTaskException += (sender, e) => e.SetObserved();

在一个根本不使用异步的小项目中执行此操作 - 我怀疑它会以同样的方式失败。如果您可以调整您的安全设置以使其有效,其余的可能从此就可以正常工作。

关于android - 部分信任环境中的异步 CTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6353807/

相关文章:

点击按钮时的 Android Loader vs AsyncTask

Android robolectric 单元测试从 drawable 加载位图

android - 在 android 中是否可以在更改 Activity 之前留下一个 AlertDialog?

.net - 多个相似的 linq 查询

c# - 读取 app.config 设置时出现 ConfigurationErrorsException

java - AndroidnotifyDataSetChanged导致解析idx 1 Illegal State Exception

android - 一旦显示 map ,如何在 MapView 上显示气球?

android - RecyclerView 没有完全展开以显示所有元素

.net - .net 计时器有多可靠?

android - 更新 AsyncTask doInBackground() 中的进度条?