2016-11-13 11 views
4

C#からF#への "Actor Service"の "Service Fabric Applicatoin"のデフォルトテンプレートを変換しようとしました。F#が動作していないサービスファブリック

github repoはこちらです。

すべてをコンパイルできますが、ローカルクラスタに展開するとSystem.ArgumentNullExceptionと表示されます。 anyouneここで何が間違っているか知っていますか?ここで

は、スタックトレースは、(それが、ドイツに残念であります)です。

bei System.Reflection.Emit.FieldBuilder..ctor(TypeBuilder typeBuilder, String fieldName, Type type, Type[] requiredCustomModifiers, Type[] optionalCustomModifiers, FieldAttributes attributes) 
bei System.Reflection.Emit.TypeBuilder.DefineFieldNoLock(String fieldName, Type type, Type[] requiredCustomModifiers, Type[] optionalCustomModifiers, FieldAttributes attributes) 
bei System.Reflection.Emit.TypeBuilder.DefineField(String fieldName, Type type, Type[] requiredCustomModifiers, Type[] optionalCustomModifiers, FieldAttributes attributes) 
bei Microsoft.ServiceFabric.Services.Remoting.Builder.MethodBodyTypesBuilder.BuildRequestBodyType(ICodeBuilderNames codeBuilderNames, CodeBuilderContext context, MethodDescription methodDescription) 
bei Microsoft.ServiceFabric.Services.Remoting.Builder.MethodBodyTypesBuilder.Build(ICodeBuilderNames codeBuilderNames, CodeBuilderContext context, MethodDescription methodDescription) 
bei Microsoft.ServiceFabric.Services.Remoting.Builder.MethodBodyTypesBuilder.Build(InterfaceDescription interfaceDescription) 
bei Microsoft.ServiceFabric.Services.Remoting.Builder.CodeBuilder.Microsoft.ServiceFabric.Services.Remoting.Builder.ICodeBuilder.GetOrBuildMethodBodyTypes(Type interfaceType) 
bei Microsoft.ServiceFabric.Services.Remoting.Builder.MethodDispatcherBuilder`1.Build(InterfaceDescription interfaceDescription) 
bei Microsoft.ServiceFabric.Services.Remoting.Builder.CodeBuilder.Microsoft.ServiceFabric.Services.Remoting.Builder.ICodeBuilder.GetOrBuilderMethodDispatcher(Type interfaceType) 
bei Microsoft.ServiceFabric.Actors.Remoting.Builder.ActorCodeBuilder.GetOrCreateMethodDispatcher(Type actorInterfaceType) 
bei Microsoft.ServiceFabric.Actors.Remoting.Runtime.ActorMethodDispatcherMap..ctor(ActorTypeInformation actorTypeInformation) 
bei Microsoft.ServiceFabric.Actors.Runtime.ActorRuntime.<RegisterActorAsync>d__7`1.MoveNext() 
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- 
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
bei System.Runtime.CompilerServices.TaskAwaiter.GetResult() 
bei Program.main(String[] argv) in C:\Users\tomas\Projects\playground\MyServiceFabricApp\MyActor\Program.fs:Zeile 18. 

答えて

3

あなたの問題は非常に微妙です。私は自分自身を見つけた。

アクターインターフェイスの各パラメータには、の明示的なの名前が必要です。

type IMyActor = 
    inherit IActor 
    abstract member GetCountAsync : unit -> Task<int> 
    abstract member SetCountAsync : int -> Task 

次へ::(count引数に注目してください)

type IMyActor = 
    inherit IActor 
    abstract member GetCountAsync : unit -> Task<int> 
    abstract member SetCountAsync : count: int -> Task 
(しかし、この記事は非常に古くなって)

変更し、このからあなたの俳優・インターフェース彼blog postでこれを言及したアイザックアブラハムのおかげで

この変更後、私の例はうまく動作しました。

関連する問題