我正在运行Azure函数,称为SmsWebhook.它调用外部程序集中的方法,该方法AzureFunctionsSample.Services.dll具有引用Newtonsoft.Json 8.0.3
我的细节Run.csx看起来像:
#r "AzureFunctionsSample.Services.dll"
using System.Net;
using AzureFunctionsSample.Services
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
...
}
Run Code Online (Sandbox Code Playgroud)
在Run()上面的方法中,我创建一个实例并在实例中调用一个方法.但是,每当我调用该方法时,都会收到以下错误:
2016-05-19T13:41:45 Welcome, you are now connected to log-streaming service.
2016-05-19T13:41:46.878 Function started (Id=64fccf0c-d0ef-45ef-ac1c-7736adc94566)
2016-05-19T13:41:46.878 C# HTTP trigger function processed a request. RequestUri=https://ase-dev-fn-demo.azurewebsites.net/api/smswebhook
2016-05-19T13:41:46.878 Function completed (Failure, Id=64fccf0c-d0ef-45ef-ac1c-7736adc94566)
2016-05-19T13:41:46.894 Exception while executing function: Functions.SmsWebhook. Microsoft.Azure.WebJobs.Script: One or more errors occurred. AzureFunctionsSample.Services: Could not load file or assembly 'Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' …Run Code Online (Sandbox Code Playgroud) 我project.json用来导入EntityFramework 6.1.3NuGet包.我可以确认在我的功能应用程序中成功恢复了NuGet包.
根据该文档,我可以直接使用EntityFramework.但是,我一直得到如下错误:
ManualTriggerCSharp1:无法加载文件或程序集'EntityFramework,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依赖项之一.该系统找不到指定的文件.
看来我的函数无法正确加载EntityFramework dll.即使我复制这两个EntityFramework.dll和EntityFramework.SqlServer.dll进入bin目录,但它仍然具有相同的异常抱怨.
我错过了什么?
更新
这是我的project.json档案:
{
"frameworks": {
"net46":{
"dependencies": {
"Autofac": "4.2.0",
"AutoMapper": "5.1.1",
"EntityFramework": "6.1.3",
"Newtonsoft.Json": "9.0.1"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如我上面提到的,这不起作用.所以,我手动复制都EntityFramework.dll和EntityFramework.SqlServer.dll进入bin目录和中引用它run.csx像文件:
#r "EntityFramework.dll"
#r "EntityFramework.SqlServer.dll"
Run Code Online (Sandbox Code Playgroud)
但还在抱怨.整条日志消息是:
2016-11-18T20:22:46.296执行函数时出现异常:Functions.ManualTriggerCSharp1.mscorlib:调用目标抛出了异常.ManualTriggerCSharp1:无法加载文件或程序集'EntityFramework,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依赖项之一.该系统找不到指定的文件.
更新2
这是我完整的功能代码:
#r "Tournaments.EntityModels.dll"
using System;
using System.Configuration;
using Tournaments.EntityModels;
public static …Run Code Online (Sandbox Code Playgroud) 根据官方文档看来,只要我们停留在基于对象的结构上,我们就可以使用依赖注入功能。
这是我的问题。我正在使用 TypeScript 来实现这个目标(基于类)。我将Inversify用作 IoC 容器。我最初的想法是这样的:
DependencyConfig.ts:
import { Container } from "inversify";
import "reflect-metadata";
import Warrior from "./interfaces/Warrior";
import { Ninja } from "./models/Warrior";
let container = new Container();
container.bind<Warrior>(Symbol("Warrior")).to(Ninja);
export default container;
Run Code Online (Sandbox Code Playgroud)
App.ts:
import container from "./DependencyConfig";
@Component({
name: "App",
provide: container
})
export default class App extends Vue {
}
Run Code Online (Sandbox Code Playgroud)
当我检查浏览器的开发控制台时,我能够看到container已设置为该_provided字段。这是Hello.ts的子组件App.ts:
Hello.ts:
@Component({
name: "Hello",
inject: [ "container" ]
})
export default …Run Code Online (Sandbox Code Playgroud) 团队。
我有使用 Web Activity 处理 ADF2 中的错误的情况。在管道中,任何活动失败,都应该触发网络活动。我在每个活动的failed状态之后附加了网络活动。因此,网络活动的dependsOn属性如下所示:
"dependsOn": {
"activity1": [
"Failed"
],
"activity2": [
"Failed"
]
}
Run Code Online (Sandbox Code Playgroud)
然而,网络活动只有在所有activity1和activity2失败时才会被触发。我想要的是得到那个要么解雇activity1或activity2失败。相反,我使用了该IfCondition活动,但它似乎不是正确(正确或正确)的方式。最好的做法是什么?
我试图从过滤中获取所有活动pipeline().activities,但也不支持。