【发布时间】:2017-01-03 15:17:48
【问题描述】:
我正在尝试从 Internet 加载 DLL,更具体地说,它是 Azure 存储 (Blob),因此我使用了“Assembly.UnsafeLoadFrom”,如下所示:
Assembly.UnsafeLoadFrom(@"https://accountname.blob.core.windows.net/test/calculator.dll");
但是因为设置了这个特定的调用,我的网络应用(已发布)返回:
"指定的 CGI 应用程序遇到错误并且服务器 终止进程。”
奇怪的是,如果我使用本地构建,那很好。没有崩溃,返回结果正确。
我正在使用 Visual Studio 2015 和 .net 5。
请告诉我如何解决此问题或如何调试它。
谢谢
【问题讨论】:
-
“test”容器(“calculator.dll”blob 所在的“)是否设置为允许公共访问?(我不建议这样做,但上面的代码行不会没有它就可以工作。)更好的解决方案可能是创建一个共享访问签名来访问 blob,并将完整的 URL(上面的 URl + SAS)传递给 Assembly.UnsafeLoadFrom() (或您使用的任何其他内容。)没有其中之一两种解决方案,对 Azure Storage 的请求不会被认证。
-
@AdamSorrin-MSFT 是的,该 dll 是可公开访问的。
标签: asp.net asp.net-web-api azure-storage azure-blob-storage