[RS]消息订阅应用实例(一)

先定义NotificationService 的Config文件

<?xml version="1.0" encoding="UTF-8"?>
<NotificationServicesInstance xmlns="http://www.microsoft.com/MicrosoftNotificationServices/ConfigurationFileSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.microsoft.com/MicrosoftNotificationServices/ConfigurationFileSchema
C:\PROGRA~1\MI02CD~1\v2.0.3008.0\XMLSCH~1\ConfigurationFileSchema.xsd"
>
    
<!-- 系统用参数 -->
    
<ParameterDefaults>
        
<Parameter>
            
<Name>SqlServerName</Name>
            
<Value>%SqlServerName%</Value>
        
</Parameter>
        
<Parameter>
            
<Name>InstanceName</Name>
            
<Value>%InstanceName%</Value>
        
</Parameter>
        
<Parameter>
            
<Name>ApplicationName</Name>
            
<Value>%AppName%</Value>
        
</Parameter>
        
<Parameter>
            
<Name>AppHomePath</Name>
            
<Value>C:\NotificationApp\NSSolution\ATiPDefinition</Value>
        
</Parameter>
    
</ParameterDefaults>
    
<!-- 实例名称 -->
    
<InstanceName>%InstanceName%</InstanceName>
    
<!-- 数据库名 -->
    
<SqlServerSystem>%SqlServerName%</SqlServerSystem>
    
<!-- 应用程序定义 -->
    
<Applications>
        
<Application>
            
<ApplicationName>%ApplicationName%</ApplicationName>
            
<BaseDirectoryPath>%AppHomePath%</BaseDirectoryPath>
            
<ApplicationDefinitionFilePath>ATiP_ADF.xml</ApplicationDefinitionFilePath>
            
<Parameters>
                
<Parameter>
                    
<Name>AppRootPath</Name>
                    
<Value>%AppHomePath%</Value>
                
</Parameter>
                
<Parameter>
                    
<Name>AppServerName</Name>
                    
<Value>%SqlServerName%</Value>
                
</Parameter>
            
</Parameters>
        
</Application>
    
</Applications>
    
<!-- 通信通道 -->
    
<Protocols>
        
<Protocol>
            
<ProtocolName>SMS</ProtocolName>
            
<ClassName>XZSoftware.Project.MessageSubscribe.SMChannelLib.SMChannel</ClassName>
            
<AssemblyName>c:\NotificationApp\NSSolution\SMChannelLib\bin\debug\XZSoftware.Project.MessageSubscribe.SMChannelLib.dll</AssemblyName>
        
</Protocol>
        
<Protocol>
            
<ProtocolName>WAPPush</ProtocolName>
            
<ClassName>XZSoftware.Project.MessageSubscribe.WAPPushChannelLib.WAPPushChannel</ClassName>
            
<AssemblyName>C:\NotificationApp\NSSolution\WAPPushChannelLib\bin\debug\XZSoftware.Project.MessageSubscribe.WAPPushChannelLib.dll</AssemblyName>
        
</Protocol>
    
</Protocols>
    
<!-- 提交通道定义 -->
    
<DeliveryChannels>
        
<DeliveryChannel>
            
<!-- DeliveryChannelName的名字将在程序中体现 -->
            
<DeliveryChannelName>MailChannel</DeliveryChannelName>
            
<ProtocolName>SMTP</ProtocolName>
            
<Arguments>
                
<Argument>
                    
<Name>SmtpServer</Name>
                    
<Value>nmcexch</Value>
                
</Argument>
                
<Argument>
                    
<Name>BodyEncoding</Name>
                    
<Value>utf-8</Value>
                
</Argument>
            
</Arguments>
        
</DeliveryChannel>
        
<DeliveryChannel>
            
<DeliveryChannelName>SMSChannel</DeliveryChannelName>
            
<ProtocolName>SMS</ProtocolName>
        
</DeliveryChannel>
        
<DeliveryChannel>
            
<DeliveryChannelName>WAPPushChannel</DeliveryChannelName>
            
<ProtocolName>WAPPush</ProtocolName>
        
</DeliveryChannel>
    
</DeliveryChannels>
</NotificationServicesInstance>




要先为消息采集创建一个中间、用于记录采集信息的表。

CREATE TABLE [T_Action_History] (
    
[id] [int] IDENTITY (11NOT NULL ,
    
[symbol] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    
[actionTime] [datetime] NOT NULL CONSTRAINT [DF_T_Action_History_actionTime] DEFAULT (getdate()),
    
[arg1] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
    
[arg2] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
    
[arg3] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
    
[arg4] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
    
[arg5] [nvarchar] (3000) COLLATE Chinese_PRC_CI_AS NULL 
ON [PRIMARY]
GO



定义ADF
<?xml version="1.0" encoding="UTF-8"?>
<Application xmlns="http://www.microsoft.com/MicrosoftNotificationServices/ApplicationDefinitionFileSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.microsoft.com/MicrosoftNotificationServices/ApplicationDefinitionFileSchema
C:\PROGRA~1\MI02CD~1\v2.0.3008.0\XMLSCH~1\ApplicationDefinitionFileSchema.xsd"
>
    
<!-- 
    1.添加Event定义 
    EC = EventClass
    
-->
    
<EventClasses>
        
<EventClass>
            
<EventClassName>MessageEC</EventClassName>
            
<Schema>
                
<Field>
                    
<FieldName>Symbol</FieldName>
                    
<FieldType>nvarchar(20)</FieldType>
                
</Field>
                
<Field>
                    
<FieldName>ActionID</FieldName>
                    
<FieldType>nvarchar(50)</FieldType>
                
</Field>
                
<Field>
                    
<FieldName>Content</FieldName>
                    
<FieldType>nvarchar(4000)</FieldType>
                
</Field>
                
<Field>
                    
<FieldName>Creator</FieldName>
                    
<FieldType>nvarchar(50)</FieldType>
                
</Field>
                
<Field>
                    
<FieldName>Source</FieldName>
                    
<FieldType>nvarchar(100)</FieldType>
                
</Field>
                
<Field>
                    
<FieldName>CreateTime</FieldName>
                    
<FieldType>DateTime</FieldType>
                
</Field>
            
</Schema>
            
<IndexSqlSchema>
                
<SqlStatement>
                    Create Index MessageEC_index on MessageEC( symbol )
                
</SqlStatement>
            
</IndexSqlSchema>
        
</EventClass>
    
</EventClasses>
    
<!--
    2.添加Subscription定义
    SC = SubscriptionClass
    
-->
    
<SubscriptionClasses>
        
<SubscriptionClass>
            
<SubscriptionClassName>MessageSC</SubscriptionClassName>
            
<Schema>
                
<Field>
                    
<FieldName>DeviceName</FieldName>
                    
<FieldType>nvarchar(20)</FieldType>
                
</Field>
                
<Field>
                    
<FieldName>SubscriberLocale</FieldName>
                    
<FieldType>nvarchar(20)</FieldType>
                
</Field>
                
<Field>
                    
<FieldName>Symbol</FieldName>
                    
<FieldType>nvarchar(20)</FieldType>
                
</Field>
            
</Schema>
            
<!--
            EventRule定义
            ER = EventRule
            NCER = NotificationClass EventRule
            
-->
            
<EventRules>
                
<EventRule>
                    
<RuleName>MessageNCER</RuleName>
                    
<Action>
                    select dbo.MessageNCNotify(s.SubscriberId,s.DeviceName,s.SubscriberLocale,e.Symbol,e.ActionID,e.Content,e.Creator,e.Source)
                    FROM MessageSC s , MessageEC e
                    WHERE s.Symbol=e.Symbol
                    
</Action>
                    
<EventClassName>MessageEC</EventClassName>
                
</EventRule>
            
</EventRules>
        
</SubscriptionClass>
    
</SubscriptionClasses>
    
<!--
    3.定义Notification
    NC = NotificationClass
    
-->
    
<NotificationClasses>
        
<NotificationClass>
            
<NotificationClassName>MessageNC</NotificationClassName>
            
<Schema>
                
<Fields>
                    
<Field>
                        
<FieldName>Symbol</FieldName>
                        
<FieldType>nvarchar(20)</FieldType>
                    
</Field>
                    
<Field>
                        
<FieldName>ActionID</FieldName>
                        
<FieldType>nvarchar(50)</FieldType>
                    
</Field>
                    
<Field>
                        
<FieldName>Content</FieldName>
                        
<FieldType>nvarchar(4000)</FieldType>
                    
</Field>
                    
<Field>
                        
<FieldName>Creator</FieldName>
                        
<FieldType>nvarchar(50)</FieldType>
                    
</Field>
                    
<Field>
                        
<FieldName>Source</FieldName>
                        
<FieldType>nvarchar(100)</FieldType>
                    
</Field>
                
</Fields>
            
</Schema>
            
<ContentFormatter>
                
<ClassName>XsltFormatter</ClassName>
                
<Arguments>
                    
<Argument>
                        
<Name>XsltBaseDirectoryPath</Name>
                        
<Value>%AppRootPath%</Value>
                    
</Argument>
                    
<Argument>
                        
<Name>XsltFileName</Name>
                        
<Value>MessageFormatter.xslt</Value>
                    
</Argument>
                
</Arguments>
            
</ContentFormatter>
            
<MulticastDelivery>true</MulticastDelivery>
            
<!--
            定义
            
-->
            
<Protocols>
                
<Protocol>
                    
<ProtocolName>SMTP</ProtocolName>
                    
<Fields>
                        
<Field>
                            
<FieldName>Subject</FieldName>
                            
<SqlExpression>&apos;ATiP消息订阅系统:&apos; + Symbol</SqlExpression>
                        
</Field>
                        
<Field>
                            
<FieldName>BodyFormat</FieldName>
                            
<SqlExpression>&apos;HTML&apos;</SqlExpression>
                        
</Field>
                        
<Field>
                            
<FieldName>From</FieldName>
                            
<SqlExpression>&apos;ATiP@nmc.ln139.com.cn&apos;</SqlExpression>
                        
</Field>
                        
<Field>
                            
<FieldName>Priority</FieldName>
                            
<SqlExpression>&apos;Normal&apos;</SqlExpression>
                        
</Field>
                        
<Field>
                            
<FieldName>To</FieldName>
                            
<SqlExpression>DeviceAddress</SqlExpression>
                        
</Field>
                    
</Fields>
                
</Protocol>
                
<Protocol>
                    
<ProtocolName>SMS</ProtocolName>
                    
<Fields>
                        
<Field>
                            
<FieldName>Handset</FieldName>
                            
<SqlExpression>DeviceAddress</SqlExpression>
                        
</Field>
                        
<Field>
                            
<FieldName>SymbolName</FieldName>
                            
<SqlExpression>Symbol</SqlExpression>
                        
</Field>
                        
<Field>
                            
<FieldName>ActionCode</FieldName>
                            
<SqlExpression>ActionID</SqlExpression>
                        
</Field>
                    
</Fields>
                
</Protocol>
                
<Protocol>
                    
<ProtocolName>WAPPush</ProtocolName>
                    
<Fields>
                        
<Field>
                            
<FieldName>Handset</FieldName>
                            
<SqlExpression>DeviceAddress</SqlExpression>
                        
</Field>
                        
<Field>
                            
<FieldName>SymbolName</FieldName>
                            
<SqlExpression>Symbol</SqlExpression>
                        
</Field>
                        
<Field>
                            
<FieldName>ActionCode</FieldName>
                            
<SqlExpression>ActionID</SqlExpression>
                        
</Field>
                    
</Fields>
                
</Protocol>
            
</Protocols>
        
</NotificationClass>
    
</NotificationClasses>
    
<!--
    NHP = NonHostedProvider
    
-->
    
<Providers>
        
<!--
        SQLHP = Sql server hosted Provider
        
-->
        
        
<!-- 短信笑话 -->
        
<HostedProvider>
            
<ProviderName>MessageSQLHP</ProviderName>
            
<ClassName>SQLProvider</ClassName>
            
<SystemName>nmcproject</SystemName>
            
<Schedule>
                
<Interval>P0DT00H60M00S</Interval>
            
</Schedule>
            
<Arguments>
                
<Argument>
                    
<Name>EventsQuery</Name>
                    
<Value>
                    
                    
                        DECLARE @Symbol nvarchar(20)
                        DECLARE @ActionID nvarchar(50)
                        DECLARE @Creator nvarchar(10)
                        DeCLARE @CreateTime DateTime
                        DECLARE @Source nvarchar(100)
                        DECLARE @RunTime DateTime
                        
                        set @Symbol='短信笑话'
                        set @Creator='ROBOT'
                        set @CreateTime=getUTCDate()
                        set @ActionID=DateName(MM,@CreateTime)+DateName(dd,@CreateTime)+DateName(hh,@CreateTime)+DateName(ms,@CreateTime)
                        set @Source='短信笑话表'
                        
                        if not exists (SELECT * FROM T_Action_History where symbol=@Symbol)
                            INSERT into T_Action_History ( symbol , actionTime ) values (@Symbol,getdate())
                        
                        /* 得到上次运行时间 */
                        SELECT @RunTime=actionTime FROM T_Action_History WHERE symbol=@Symbol
                        /* 更新时间 */
                        UPDATE T_Action_History SET actionTime=getdate() WHERE symbol=@Symbol
                        
                        /* 得到消息数据 */
                        SELECT @Symbol as Symbol ,@ActionID as ActionID,Content as Content ,@Creator Creator , @Source Source , @CreateTime CreateTime FROM 
                        OPENDATASOURCE('SQLOLEDB','Data Source=sql.nmc.ln.cmcc;User ID=*********;Password=*********').om.usercn99.DailyMessage
                        WHERE
                        MsgType='joke' and
                        insertTime > @RunTime
                        order by insertTime desc
                        
                        
                    
</Value>
                
</Argument>
                
<Argument>
                    
<Name>EventClassName</Name>
                    
<Value>MessageEC</Value>
                
</Argument>
            
</Arguments>
        
</HostedProvider>
        
        
<!-- 每日英语 -->
        
<HostedProvider>
            
<ProviderName>EveryEnglishSQLHP</ProviderName>
            
<ClassName>SQLProvider</ClassName>
            
<SystemName>nmcproject</SystemName>
            
<Schedule>
                
<Interval>P0DT12H00M00S</Interval>
            
</Schedule>
            
<Arguments>
                
<Argument>
                    
<Name>EventsQuery</Name>
                    
<Value>
                    
                    
                        DECLARE @Symbol nvarchar(20)
                        DECLARE @ActionID nvarchar(50)
                        DECLARE @Creator nvarchar(10)
                        DeCLARE @CreateTime DateTime
                        DECLARE @Source nvarchar(100)
                        DECLARE @RunTime DateTime
                        
                        set @Symbol='每日英语'
                        set @Creator='ROBOT'
                        set @CreateTime=getUTCDate()
                        set @ActionID=DateName(MM,@CreateTime)+DateName(dd,@CreateTime)+DateName(hh,@CreateTime)+DateName(ms,@CreateTime)
                        set @Source='每日英语'
                        
                        if not exists (SELECT * FROM T_Action_History where symbol=@Symbol)
                            INSERT into T_Action_History ( symbol , actionTime ) values (@Symbol,getdate())
                        
                        /* 得到上次运行时间 */
                        SELECT @RunTime=actionTime FROM T_Action_History WHERE symbol=@Symbol
                        /* 更新时间 */
                        UPDATE T_Action_History SET actionTime=getdate() WHERE symbol=@Symbol
                        
                        /* 得到消息数据 */
                        select  @Symbol as Symbol ,@ActionID ActionID,itemname + ':' + itemvalue as Content ,@Creator Creator , @Source Source , @CreateTime CreateTime 
                        from OPENDATASOURCE('SQLOLEDB','Data Source=sql.nmc.ln.cmcc;User ID=*********;Password=*********').om.usercn99.dailyenginfo
                        where inserttime>@RunTime
                        order by inserttime
                        
                        
                    
</Value>
                
</Argument>
                
<Argument>
                    
<Name>EventClassName</Name>
                    
<Value>MessageEC</Value>
                
</Argument>
            
</Arguments>
        
</HostedProvider>

        
<!-- 每日励志 -->
        
<!--
        <HostedProvider>
            <ProviderName>EveryExcitationSQLHP</ProviderName>
            <ClassName>SQLProvider</ClassName>
            <SystemName>nmcproject</SystemName>
            <Schedule>
                <Interval>P0DT00H30M00S</Interval>
            </Schedule>
            <Arguments>
                <Argument>
                    <Name>EventsQuery</Name>
                    <Value>
                        DECLARE @Symbol nvarchar(20)
                        DECLARE @ActionID nvarchar(50)
                        DECLARE @Creator nvarchar(10)
                        DeCLARE @CreateTime DateTime
                        DECLARE @Source nvarchar(100)
                        DECLARE @RunTime DateTime
                        
                        set @Symbol='每日励志'
                        set @Creator='ROBOT'
                        set @CreateTime=getUTCDate()
                        set @ActionID=DateName(MM,@CreateTime)+DateName(dd,@CreateTime)+DateName(hh,@CreateTime)+DateName(ms,@CreateTime)
                        set @Source='每日励志'
                        
                        if not exists (SELECT * FROM T_Action_History where symbol=@Symbol)
                        INSERT into T_Action_History ( symbol , actionTime ) values (@Symbol,getdate())
                        
                        /* 得到上次运行时间 */
                        SELECT @RunTime=actionTime FROM T_Action_History WHERE symbol=@Symbol
                        /* 更新时间 */
                        UPDATE T_Action_History SET actionTime=getdate() WHERE symbol=@Symbol
                        
                        /* 得到消息数据 */
                        select  @Symbol as Symbol ,@ActionID ActionID,'名言' + char(10) + char(13) + minyan + char(10) + char(13) + '自励'  + char(10) + char(13) + zhili  + char(10) + char(13) + '每日品文' + char(10) + char(13)  + content + char(10) + char(13) + '书摘' + char(10) + char(13)  + shuzai as content,@Creator Creator , @Source Source , @CreateTime CreateTime 
                        from OPENDATASOURCE('SQLOLEDB','Data Source=sql.nmc.ln.cmcc;User ID=*********;Password=*********').om.dbo.dailyreader
                        where createtime>@RunTime
                    </Value>
                </Argument>
                <Argument>
                    <Name>EventClassName</Name>
                    <Value>MessageEC</Value>
                </Argument>
            </Arguments>
        </HostedProvider>
        
-->
        
                
<!-- 网事知多少 -->
        
<HostedProvider>
            
<ProviderName>NetInfoSQLHP</ProviderName>
            
<ClassName>SQLProvider</ClassName>
            
<SystemName>nmcproject</SystemName>
            
<Schedule>
                
<Interval>P0DT00H05M00S</Interval>
            
</Schedule>
            
<Arguments>
                
<Argument>
                    
<Name>EventsQuery</Name>
                    
<Value>
                        DECLARE @Symbol nvarchar(20)
                        DECLARE @ActionID nvarchar(50)
                        DECLARE @Creator nvarchar(10)
                        DeCLARE @CreateTime DateTime
                        DECLARE @Source nvarchar(100)
                        DECLARE @RunTime DateTime
                        DECLARE @StockID varchar(100)
                        
                        set @Symbol='网事知多少'
                        set @Creator='ROBOT'
                        set @CreateTime=getUTCDate()
                        set @ActionID=DateName(MM,@CreateTime)+DateName(dd,@CreateTime)+DateName(hh,@CreateTime)+DateName(ms,@CreateTime)
                        set @Source='网事知多少'
                        
                        if not exists (SELECT * FROM T_Action_History where symbol=@Symbol)
                        INSERT into T_Action_History ( symbol , actionTime ) values (@Symbol,getdate())

                        select @RunTime = actionTime from t_action_history where symbol=@Source
                        update t_action_history set actionTime=getdate() where symbol=@Source
                        
                        
                        select 
                        @Symbol as Symbol ,
                        @ActionID ActionID,
                        Convert(nvarchar(4000),Content) as Content ,
                        @Creator Creator , 
                        @Source Source , 
                        @CreateTime CreateTime 
                        FROM 
                        OPENDATASOURCE('SQLOLEDB','Data Source=sql.nmc.ln.cmcc;User ID=*********;Password=*********').nsps.dbo.publish
                        WHERE 
                        Sanctified=1 and ColumnID = 1
                        and AuthorDate>@RunTime
                    
</Value>
                
</Argument>
                
<Argument>
                    
<Name>EventClassName</Name>
                    
<Value>MessageEC</Value>
                
</Argument>
            
</Arguments>
        
</HostedProvider>
<!-- 实时股票 -->
        
<HostedProvider>
            
<ProviderName>StockSQLHP</ProviderName>
            
<ClassName>SQLProvider</ClassName>
            
<SystemName>nmcproject</SystemName>
            
<Schedule>
                
<Interval>P0DT00H05M00S</Interval>
            
</Schedule>
            
<Arguments>
                
<Argument>
                    
<Name>EventsQuery</Name>
                    
<Value>
                        DECLARE @Symbol nvarchar(20)
                        DECLARE @ActionID nvarchar(50)
                        DECLARE @Creator nvarchar(10)
                        DeCLARE @CreateTime DateTime
                        DECLARE @Source nvarchar(100)
                        DECLARE @RunTime DateTime
                        DECLARE @StockID varchar(100)

                        set @Symbol='移动股票'
                        set @Creator='ROBOT'
                        set @CreateTime=getUTCDate()
                        set @ActionID=DateName(MM,@CreateTime)+DateName(dd,@CreateTime)+DateName(hh,@CreateTime)+DateName(ms,@CreateTime)
                        set @Source='移动股票表'

                        select @StockID = StockID from t_stock where modify=1
                        update t_stock set modify=0 where StockID=@StockID


                        select 
                        @Symbol as Symbol ,
                        @ActionID ActionID,
                        Content as Content ,
                        @Creator Creator , 
                        @Source Source , 
                        @CreateTime CreateTime 
                        FROM 
                        T_Stock
                        WHERE 
                        StockId=@StockID                    
                    
</Value>
                
</Argument>
                
<Argument>
                    
<Name>EventClassName</Name>
                    
<Value>MessageEC</Value>
                
</Argument>
            
</Arguments>
        
</HostedProvider>
    
    
    
        
        

                
<!-- 辽阳网络篇 -->
        
<HostedProvider>
            
<ProviderName>NetInfoSQLHP_LY</ProviderName>
            
<ClassName>SQLProvider</ClassName>
            
<SystemName>nmcproject</SystemName>
            
<Schedule>
                
<Interval>P0DT00H05M00S</Interval>
            
</Schedule>
            
<Arguments>
                
<Argument>
                    
<Name>EventsQuery</Name>
                    
<Value>
                        DECLARE @Symbol nvarchar(20)
                        DECLARE @ActionID nvarchar(50)
                        DECLARE @Creator nvarchar(10)
                        DeCLARE @CreateTime DateTime
                        DECLARE @Source nvarchar(100)
                        DECLARE @RunTime DateTime
                        DECLARE @StockID varchar(100)
                        
                        set @Symbol='辽阳网络篇'
                        set @Creator='ROBOT'
                        set @CreateTime=getUTCDate()
                        set @ActionID=DateName(MM,@CreateTime)+DateName(dd,@CreateTime)+DateName(hh,@CreateTime)+DateName(ms,@CreateTime)
                        set @Source='辽阳网络篇'
                        
                        if not exists (SELECT * FROM T_Action_History where symbol=@Symbol)
                        INSERT into T_Action_History ( symbol , actionTime ) values (@Symbol,getdate())

                        select @RunTime = actionTime from t_action_history where symbol=@Source
                        update t_action_history set actionTime=getdate() where symbol=@Source
                        
                        
                        select 
                        @Symbol as Symbol ,
                        @ActionID ActionID,
                        Convert(nvarchar(4000),Content) as Content ,
                        @Creator Creator , 
                        @Source Source , 
                        @CreateTime CreateTime 
                        FROM 
                        OPENDATASOURCE('SQLOLEDB','Data Source=sql.nmc.ln.cmcc;User ID=*********;Password=*********').nsps.dbo.publish
                        WHERE 
                        Sanctified=1 and ColumnID = 18
                        and AuthorDate>@RunTime
                    
</Value>
                
</Argument>
                
<Argument>
                    
<Name>EventClassName</Name>
                    
<Value>MessageEC</Value>
                
</Argument>
            
</Arguments>
        
</HostedProvider>

        
        
    
        
        
<NonHostedProvider>
            
<ProviderName>MessageNHP</ProviderName>
        
</NonHostedProvider>
    
</Providers>

    
<Generator>
        
<SystemName>%AppServerName%</SystemName>
    
</Generator>
    
<Distributors>
        
<Distributor>
            
<SystemName>%AppServerName%</SystemName>
        
</Distributor>
    
</Distributors>
</Application>

说明,在这里,我添加了自定义的两中发送方式 SMS , WAPPush。
下一回,将简单介绍一下Provide的开发。
原文地址:https://www.cnblogs.com/xuzhong/p/384212.html