2014-09-18 85 views
1

我试图从托管在HTTPS服务器中的文件动态加载代码。spawnUri()与“https”

有没有人成功使用spawnUri()与https:// URIs? 我已经测试过,它可以很好地与http:// URIs协作。

但随着https://我不断收到:

Not a known scheme: https://example.com/MyIsolate.dart 
#0  _filePathFromUri (dart:_builtin:289) 
#1  _loadDataAsync (dart:_builtin:359)' 
Stack Trace: 
#0  Isolate.spawnUri (dart:isolate-patch/isolate_patch.dart:256) 
... 
... 

我不知道如果我失去了一些东西。

为例如,你可以简单地试试这个代码:

import 'dart:async'; 
import 'dart:isolate'; 

ReceivePort receivePort; 

main() { 
    receivePort = new ReceivePort(); 
    Isolate.spawnUri(Uri.parse("https://example.com/MyIsolate.dart"), null, receivePort.sendPort); 
} 

我的DART VM的版本是1.6.0上macos_x64

编辑: 解析使用Uri.parse的URI的字符串()然后将其传递给spawnUri作为参数。 (由@ user568109正如指出的)

回答

2

它需要一个开放的对象,因此分析它才通过:

Isolate.spawnUri(Uri.parse("https://example.com/MyIsolate.dart"), null, sendPort); 

我相信方案是需要在默认情况下是httpprotocol。所以对于其他协议,你必须明确地给它。总是将其转换为Uri更好。 Uricore库中。

+0

你是对的有关分析,我忘了在创建这个例子中,我竟然解析并测试它固定。我仍然得到同样的例外。这使我怀疑它是否是一个错误? 我会给你一个用于查找代码错误的+1,但不能接受答案,因为它不能解决问题:) – lihsus 2014-09-19 09:11:19