WF4.0实战(二十一):Windows Server AppFabric中宿主WF4.0应用程序

简介:

  在之前的一篇博文Windows Server AppFabric介绍上,简单的介绍了一下Windows Server AppFabric。这篇文章中,我将介绍一下,如何在将WF4.0应用程序宿主到Windows Server AppFabric中,以及如何持久化配置和追踪配置。

    首先,我将使用asp.net和WF4.0实现一个简单的Pizza订购系统。然后将这个应用系统宿主到Windows Server AppFabric上,实现持久化,跟踪等配置。

    Pizza订购系统:

    分两部分,一个是asp.net应用程序实现UI界面;另外一个是WF Service实现业务逻辑,系统类似下图。

   实现WF Service:

   业务处理过程是:客户在asp.net客户端选择Pizza类型和填写Pizza的数量,然后提交给WF Service处理。WF Service根据选择的Pizza类型查询出价格,然后计算Pizza的总价格,并将这个价格返回给asp.net客户端。然后购买者确认是否订购,确认之后,WF Service报告对应的信息。这个流程我分成了两个部分。

    第一部分如下图:获取Pizza的价格。

wf1

    第二部分是:确认订购,如下图:

wf2

    客户端和服务端交互的数据实体代码如下;

    [DataContract(Namespace="urn:pizzas")]
    public class PriceResponse
    {
        [DataMember]
        public int OrderId { get; set; }
        [DataMember]
        public double Price { get; set; }
    }

 

实现客户端:

    一个提交界面,很简单,如下图:

wf3

后台代码:

        protected void Button1_Click(object sender, EventArgs e)
        {
            FeedMeClient client = new FeedMeClient("BasicHttpBinding_IFeedMe");
            PriceResponse prse = client.GetPizzaCost(DropDownList1.Text, int.Parse(TextBox1.Text));
            ViewState["id"] = prse.OrderId;
            Label1.Text = "订单号码为:" + prse.OrderId + "价格为" + prse.Price.ToString();
            client.Close();
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
           if(ViewState["id"]!=null)
           {
               FeedMeClient client = new FeedMeClient("BasicHttpBinding_IFeedMe");
               Label1.Text = client.ConfirmOrder(int.Parse(ViewState["id"].ToString()));
               client.Close();
           }
        }

 

如何将这个应用程序宿主到Windows Server AppFabric。

首先:要安装Windows Server AppFabric,安装的顺序见Windows Server AppFabric介绍

第二步:生成WCF的zip包,选择服务项目,右键选择build deplyment packpage。在\obj\Debug\Package路径下面可以看到生成的zip文件,如下图:

wf5

第三步:打开IIS,新建一个网站,命名为:RichsPizzaService,端口改为90,如下图:

wf6

第四步:选择部署,如下图

wf8

第五步:选择包,然后一直点下一步,直到完成。

wf9

第六步:配置持久化:选择服务,右键配置,如下图:

wf11

配置工作流暂留:

wf111

配置工作流主机管理:

wf112

 

 

 

 

 

 

 

第七步:配置跟踪:

1、在\obj\Debug\Package中新建一文本文件,输入下面文本,将其后缀改成tp。

<trackingProfile name="CustomServiceProfile">
   <workflow activityDefinitionId="*">
      <workflowInstanceQueries>
         <workflowInstanceQuery>
            <states>
               <state name="*" />
            </states>
         </workflowInstanceQuery>
      </workflowInstanceQueries>
      <activityStateQueries>
         <activityStateQuery activityName="GetPizzaCost">
            <states>
               <state name="Closed" />
            </states>
            <variables>
               <variable name="quantity"/>
               <variable name="type"/>
            </variables>
         </activityStateQuery>
      </activityStateQueries>
      <faultPropagationQueries>
         <faultPropagationQuery faultSourceActivityName="*" faultHandlerActivityName="*" />
      </faultPropagationQueries>
      <bookmarkResumptionQueries>
         <bookmarkResumptionQuery name="*" />
      </bookmarkResumptionQueries>
      <customTrackingQueries>
         <customTrackingQuery name="*" activityName="*" />
      </customTrackingQueries>
   </workflow>
</trackingProfile>

 

2、配置监控:在下面界面中选择上面新建的tp文件,点击确认。

wf00

 

效果:

1、在aspx页面上选择,一种pizza,输入你要的数量,如下图:

gg1

2、点击提交,获得pizza的总价格,如下图:

gg2

3、点击确认,pizza店会告诉你,你的pizza已经在路上了,你等着就行了。

gg3

4、Windows Server AppFabric上进行查看:

下图告诉你,已经有7次pizza的预定了。

1

选择一个实例,查看跟踪信息:

2 

你将会看到如下的事件信息:

3

这个应用程序很简单,就不能看持久化的效果了。

总结:这篇文章教你如何在Windows Server AppFabric上发布和使用WF4.0应用程序,如何配置Windows Server AppFabric。




本文转自麒麟博客园博客,原文链接:http://www.cnblogs.com/zhuqil/archive/2010/06/18/Windows-Server-AppFabric-WF4.html,如需转载请自行联系原作者

相关文章
|
28天前
|
安全 数据安全/隐私保护 虚拟化
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
364 2
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
|
28天前
|
安全 Unix 物联网
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 10 月更新)
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 10 月更新)
179 0
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 10 月更新)
|
28天前
|
存储 SQL 人工智能
Windows Server 2025 中文版、英文版下载 (2025 年 10 月更新)
Windows Server 2025 中文版、英文版下载 (2025 年 10 月更新)
325 0
|
2月前
|
运维 安全 网络安全
Windows Server 2019拨号“找不到设备”?Error 1058解决指南
Windows Server 2019拨号报错1058?别急!这不是硬件故障,而是关键服务被禁用。通过“服务依存关系”排查,依次启动“安全套接字隧道协议”“远程接入连接管理”和“路由与远程访问”服务,仅需4步即可恢复PPPoE或VPN拨号功能,轻松解决网络中断问题。
243 1
|
1月前
|
安全 Ubuntu iOS开发
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
128 3
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
|
2月前
|
存储 SQL 人工智能
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
969 3
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
|
2月前
|
安全 Unix 物联网
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 9 月更新)
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 9 月更新)
303 2
|
2月前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
176 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
3月前
|
Linux 虚拟化 iOS开发
Windows Server 2025 OVF (2025 年 8 月更新) - VMware 虚拟机模板
Windows Server 2025 OVF (2025 年 8 月更新) - VMware 虚拟机模板
382 3
Windows Server 2025 OVF (2025 年 8 月更新) - VMware 虚拟机模板