- AzureMessagingActivityPack_src.zip
- AzureMessagingActivityPack
- AzureMessagingActivityPack.sln
- AzureMessagingActivityPack.suo
- AzureMessagingActivityPack
- 3rdParty
- MessageMediationActivityLibrary.Design.dll
- MessageMediationActivityLibrary.dll
- Microsoft.Activities.Azure.Design.dll
- Microsoft.Activities.Azure.dll
- Microsoft.ServiceBus.dll
- Microsoft.VisualStudio.ActivityPack.Azure.dll
- Microsoft.WindowsAzure.StorageClient.dll
- Microsoft.XmlNotepad.dll
- RKiss.Activities.Azure.Messaging.Design.dll
- RKiss.Activities.Azure.Messaging.dll
- RKiss.Activities.Azure.Messaging.pdb
- SimulatorPubSub.exe
- SimulatorPubSub.exe.config
- AzureMessagingActivityPack.suo
- RKiss.Activities.Azure.Messaging.Designer
- RKiss.Activities.Azure.Messaging
- license.rtf
- ServiceBusTest
- ManagingSubscriptionRules.lnk
- Publisher.lnk
- Receiver.lnk
- Sender.lnk
- StoragePublisher.lnk
- StorageReceiver.lnk
- Subscriber.lnk
- SubscriptionManager.lnk
- WorkflowDesignerTester.lnk
- WorkflowPublisher1.lnk
- Test
- ConsoleApplications
- ConsoleManagingSubscriptionRules
- ConsolePublisherApplication
- ConsoleReceiverApplication
- ConsoleSBApplication.suo
- ConsoleSenderApplication
- ConsoleStorageSubscriberApplication
- ConsoleSubscriberApplication
- Logger
- Management
- SubscriptionManager
- Publishers
- WorkflowPublisher1
- WorkflowPublisher2
- Routers
- PubSubRouter
- Subscribers
|
using System;
using System.Configuration;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;
using Microsoft.ServiceBus;
using System.Xml;
using System.IO;
using System.Xml.Linq;
using Microsoft.ServiceBus.Messaging;
namespace RKiss.SB.ManagingSubscriptionRules
{
class Program
{
static void Main(string[] args)
{
try
{
Console.Title = string.Format("Managing SubscriptionRules");
string issuerOwner = ConfigurationManager.AppSettings.Get("sbIssuerName");
string issuerSecret = ConfigurationManager.AppSettings.Get("sbIssuerSecret");
string namespaceAddress = ConfigurationManager.AppSettings.Get("sbNamespaceAddress");
var token = TokenProvider.CreateSharedSecretTokenProvider(issuerOwner, issuerSecret);
Console.WriteLine("Creating NamespaceManager ...");
var namespaceClient = new Microsoft.ServiceBus.NamespaceManager(namespaceAddress, token);
Console.WriteLine("Creating Messagingfactory ...");
var factory = MessagingFactory.Create(namespaceAddress, token);
Console.WriteLine("Creating SubscriptionClient ...");
var sc = factory.CreateSubscriptionClient("worker", "image12");
while (true)
{
Console.ForegroundColor = ConsoleColor.Yellow;
var rules = namespaceClient.GetRules("worker", "image1");
Console.WriteLine("\r\nSubscription '{0}' has {1} rules", "image1", rules.Count());
foreach (var rule in rules)
{
Console.WriteLine(" rule: name = '{0}',\tfilter = '{1}', action = '{2}'", rule.Name, ((SqlFilter)rule.Filter).SqlExpression, rule.Action.RequiresPreprocessing == false ? "(empty)" : ((SqlRuleAction)rule.Action).SqlExpression);
}
rules = namespaceClient.GetRules("worker", "image2");
Console.WriteLine("\r\nSubscription '{0}' has {1} rules", "image2", rules.Count());
foreach (var rule in rules)
{
Console.WriteLine(" rule: name = '{0}',\tfilter = '{1}', action = '{2}'", rule.Name, ((SqlFilter)rule.Filter).SqlExpression, rule.Action.RequiresPreprocessing == false ? "(empty)" : ((SqlRuleAction)rule.Action).SqlExpression);
}
rules = namespaceClient.GetRules("worker", "image12");
Console.WriteLine("\r\nSubscription '{0}' has {1} rules", "image12", rules.Count());
foreach (var rule in rules)
{
Console.WriteLine(" rule: name = '{0}',\tfilter = '{1}', action = '{2}'", rule.Name, ((SqlFilter)rule.Filter).SqlExpression, rule.Action.RequiresPreprocessing == false ? "(empty)" : ((SqlRuleAction)rule.Action).SqlExpression);
}
Console.WriteLine();
Console.ResetColor();
Console.WriteLine("\r\n[{0}] Remove (r) or add (a) a rule 'abcd' from/to subscription?", "image12");
var key = Console.ReadKey();
Console.WriteLine();
if (key.Key == ConsoleKey.R || key.Key == ConsoleKey.A)
{
Console.WriteLine("[{0}] Removing rule 'abcd' ...", "image12");
try
{
sc.RemoveRule("abcd");
}
catch
{
Console.WriteLine("[{0}] Rule doesn't exist", "image12");
}
}
if (key.Key == ConsoleKey.A)
{
Console.WriteLine("[{0}] Creating new rule 'abcd' ...", "image12");
var rule = new RuleDescription("abcd", new SqlFilter("abcd=12345"));
rule.Action = new SqlRuleAction("SET Label = 'Hello Roman'");
sc.AddRule(rule);
//sc.AddRule(new RuleDescription("image", new SqlFilter("image=111")));
//sc.AddRule("$Default", new FalseFilter());
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.WriteLine("Press any key to exit");
Console.ReadLine();
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.