Jestem nowy w Workflow systemu Windows [WF] i zainteresowany oceną WF w celach biznesowych. Postanowiłem działać poprzez introductionWF4RC, aktywność WriteLine generuje błąd w StringWriter przypisany do TextWriter
[TestMethod]
public void TestMethod()
{
TextWriter writer = new StringWriter();
Sequence sequence = new Sequence
{
Activities =
{
// so, assigning a reference type [eg StringWriter]
// as target is prohibited in WF4RC. what or how do
// i assign a target? introduction cited above may
// not be current [ie may be Beta2, not RC] so ... ?
new WriteLine { Text = "Hello", TextWriter = writer },
new WriteLine { Text = "World", TextWriter = writer }
}
};
// !!! BLOWS UP !!!
WorkflowInvoker.Invoke (sequence);
}
i napotkał
Metoda badawcza SomeTests.SomeTests.TestMethod wyrzucił wyjątek: System.Activities.InvalidWorkflowException: Następujące błędy wystąpiły podczas przetwarzania drzewa workflow: 'Literal': Literal obsługuje tylko typy wartości i niezmienny typ System.String. Typ System.IO.TextWriter nie może być używany jako literał.
Kręcąc się, znalazłem this article opisujący to, co wydaje się być błędem, które widzę powyżej.
Będąc nowicjuszem w WF, nie bardzo rozumiem zmianę lub zalecaną metodę obejścia tego problemu. Tak, moje pytanie brzmi:
Z WF4RC, w jaki sposób jedna [poprawnie] używa aktywności WriteLine
?
Miałem podobny problem z próbą ustawienia ciągu []. Przetworzył się LambdaValue. Ale zauważyłem również, że jeśli użyjesz InArgument , to również działa i prawdopodobnie tak powinno być. –
TrueEddie