2010-05-08 11 views
21

मुझे एक विशिष्ट गतिविधि के साथ एएसपीनेट वेब पेज में दस्तावेज़ अनुमोदन वर्कफ़्लो कार्य की वर्तमान स्थिति प्रदर्शित करने की आवश्यकता है।डब्ल्यूएफ 4 - एएसपीनेट में वर्कफ़्लो छवि प्रदर्शित करें और एक गतिविधि को हाइलाइट करें

मैं दृश्य कार्यप्रवाह पर नजर उदाहरण देखा है (WF & नमूने WCF में), लेकिन मैं दो मुद्दों,

  1. है मैं एक WPF अनुप्रयोग में नहीं asp.net में कार्यप्रवाह प्रस्तुत करना पड़ता है।

  2. मुझे वर्कफ़्लो चलने के साथ वर्तमान स्थिति प्रदर्शित करने की आवश्यकता नहीं है, सभी गतिविधियों को हाइलाइट करने की आवश्यकता है जिन्हें उपयोगकर्ता इनपुट की आवश्यकता होती है। जैसे "विभाग प्रमुख से मंजूरी की प्रतीक्षा कर" आदि

अगर मैं सिर्फ गतिविधि आईडी "है कि एक बुकमार्क और बहाली के लिए बुकमार्क इंतजार कर बनाया" द्वारा एक विशिष्ट गतिविधि पर प्रकाश डाला के बाद जेपीजी के लिए कार्यप्रवाह XAML परिवर्तित कर सकते हैं यह करना होगा काम।

जांच आवश्यक कार्यप्रवाह छवि के लिए संलग्न फाइल asp.net पृष्ठ पर प्रदान करने की:

Workflow with current activity highlighted (that is waiting to be resumed)

+0

प्रतीत होता है जैसे कि यह नहीं है (सीधे) साध्य, उदाहरण डिजाइनर rehosting का उपयोग करते हैं: http://stackoverflow.com/प्रश्न/2593302/windows-कार्यप्रवाह-नींव-4-WF4-rehosting – TrueWill

उत्तर

1

पहले लोड डिजाइनर में कार्यप्रवाह।

आपको पहले से ही उस 'गतिविधि' को जानना चाहिए जिसे आप हाइलाइट करना चाहते हैं। वर्कफ़्लो में चयन सेवा है जिसका उपयोग आप उपयुक्त मॉडल आइटमों का चयन करने के लिए कर सकते हैं। यह उदाहरण एकल चयन दिखाता है, लेकिन कई हैं।

ModelService modelService = wd.Context.Services.GetService<ModelService>(); 
     IEnumerable<ModelItem> activityCollection = modelService.Find(modelService.Root, typeof(Activity)); 
     Selection.Select(wd.Context, activityCollection.ElementAt(5)); 

कार्यप्रवाह डिजाइनर पर छवि या उन पंक्तियों के साथ कुछ के रूप में कार्यप्रवाह कॉपी करने के लिए एक बटन है। यह लिंक आपको दिखाएगा कि वर्कफ़्लो डिज़ाइनर से jpg कैसे प्राप्त करें। देखें। http://social.msdn.microsoft.com/Forums/en-US/wfprerelease/thread/b781c8df-608a-485a-80e3-a795d800f08d

 const double DPI = 96.0; 

     Rect size = VisualTreeHelper.GetDescendantBounds(view); 
     int imageWidth = (int)size.Width; 
     int imageHeight = (int)size.Height; 

     RenderTargetBitmap renderBitmap = new RenderTargetBitmap(imageWidth, imageHeight, DPI, DPI, PixelFormats.Pbgra32); 
     renderBitmap.Render(view); 
     BitmapFrame bf = BitmapFrame.Create(renderBitmap); 

     using (FileStream fs = new FileStream(@"c:\test.jpg", FileMode.Create)) 
     { 
      JpegBitmapEncoder encoder = new JpegBitmapEncoder(); 
      encoder.Frames.Add(BitmapFrame.Create(bf)); 
      encoder.Save(fs); 
      fs.Close(); 
     } 

एक अतिरिक्त के रूप में ध्यान दें कि आप Kushals उदाहरण की जांच करनी चाहिए: http://blogs.msdn.com/b/kushals/archive/2009/12/22/visualworkflowtracking-aka-workflowsimulator.aspx

संबंधित मुद्दे