Sel*_*_va 5 profiler azure .net-assembly azure-web-app-service clr-profiling-api
我已经通过 Visual Studio 2012 将我的 .NET 检测分析器部署到 Azure webapps 中。我的分析器执行字节码检测,如下所示,
FunctionA()
{
--> Injected C# function Call
functionA's body
-->Injected C# function Call
}
Run Code Online (Sandbox Code Playgroud)
注入的函数调用驻留在单独的程序集 dll 上。在物理框中,程序集将添加到 GAC 中。但在 Azure 中,它将出现在 web 应用程序位置的文件夹中,该文件夹将在 web.config 文件中进行探测。
使用 IMetaDataAssemblyEmit 的 DefineAssemblyRef,我定义了程序集及其在加载到进程中的每个模块中的功能。该问题是注入的函数调用仅适用于Web应用程序模块的功能..!System.Web.dll 或 System.Data.dll 等其他模块无法调用该函数,这导致 Azure Web 应用程序无法加载并出现 502 错误。
很快,注入到 Web 应用程序以外的模块中就失败了。我猜这是加载自定义程序集时的安全问题,我也尝试设置[assembly: System.Security.AllowPartiallyTrustedCallers]和PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]其他一些安全属性.. 没有帮助.. 如何使这个帮助程序集由 .Net 模块加载。?我是否需要为程序集设置任何其他特定的安全属性才能加载..?
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |