• 使用VS进行工作流开发系列博客7Developing Workflows in VS: Part6 Deploy and Debug your workflow Virus


    在VS中开发工作流:部署和调试工作流
    原文地址:
    http://blogs.msdn.com/sharepoint/archive/2006/11/30/developing-workflows-in-vs-part-6-deploy-and-debug-your-workflow.aspx
    第四步:部署你的工作流
    一旦你准备好了表单和代码,是时候编译和部署你的工作流了。还要做下面的准备:
    有两个必备的文件
    1、 Feature.xml,就像SharePoint的每个功能一样,你需要一个类似的功能描述文件
    2、 工作流模板xml文件,workflow.xml,我们已经说了工作流模板的很多内容,这是它从哪里而来。为你的表单类型指定的aspx页面(对于InfoPath表单,指定开箱即用的宿主页面)和dll的详细描述,同时在Metadata 部分放一些你需要的额外信息。
    你同样需要编译程序集和你的表单。
    一旦你有了这些东西,你可以做实际的部署工作了。你还需要做下面的事情(如果你正在使用SharePoint的工作流模板,这就是PostBuildAction批处理文件做的事情):
    1、 拷贝程序集到GAC中以便SharePoint可以运行它
    2、 将xml文件和表单拷贝到SharePoint的Features文件夹,这个文件夹就是feature运行和安装的地方,自定义的aspx页面应该拷贝到layouts文件夹。
    3、 在命令行运行staadm命令,SharePoint的部署工具,参数是installfeature和activatefeature,是工作流在网站集中可以使用。
    4、 使用iisreset命令重启IIS,刷新程序集和模板
    还有两件事要记住:
    1、 每次都要将工作流发布到整个网站集
    2、 如果在你的feature.xml文件中有<Property Key="RegisterForms" Value="*.xsn" />标记的话,InfoPath表单将会被自动安装到服务器,aspx页面需要手动拷贝到layouts目录
    下面的图显示了workflow.xml如何映射到SharePoint UI部分和工作流表单(宿主的InfoPath表单)
     wf3.JPG
    第五步:调试工作流
    在服务器上有了运行的功能,你现在可以通过添加断电来调试它,别忘了附加w3wp.exe进程和启动工作流。关联你的工作流到一个列表并且运行它,当你发现一个BUG的时候,重新编译,重新发布,重新启动IIS,重复上面的步骤直到满意为止。
    FAQ:调试器问题
    当我附加进程的时候VS就崩溃了,在附加对话框,只是附加到工作流或者托管代码。
    我的断点没有激活。确保GAC中的程序集和你工程中的程序集完全相同,如果你改变工程中的俄一个文件,而没有重新编译。VS将会认为这个dll被更新了,不会和工程建立连接。同时,不要忘了重启IIS来重新加载新的程序集。
    FAQ:乏味的调试过程
    调试过程相对发布过程来说可能有点乏味,可以通过下面的建议来加快这个过程:
    1、 当你build一个项目的时候,VS中的SharePoint工作流模板能够自动运行staadm部署命令,你要做的就是准备xml文件,标记程序集位置,在工程的PostBuildActions设置运行的时候需要的发布参数
    2、 如果你是修改了程序集,只需要重新安装GAC和iisreset(不需要重新安装feature)。SharePoint工作流模板中的PostBuildAction批处理文件中有一个QUICK参数来做这些事情。
    3、 如果你修改了你的模板表单,你将需要重新安装feature,再重新激活之前不要忘记反激活并且卸载以前的feature。
    4、 在workflow.xml文件的metadata部分的<AssociateOnActivate>标记将会自动和文档内容类型关联。设置为true可以节约安装和重新激活一个关联的时间。只需要确保你在一个文档内容类型库中做了测试。
    5、 批量上载文档以便保持取消工作流不是必须的,
    其他的调试小技巧:
    启动失败,通常意味着在SharePoint中在你的工作流启动之前有一个错误正在发生,记录找不到工作流对应的程序集dll。错误发生通常意味着工作流启动,代码中的某些地方发生错误。
    检查SharePoint的ULS日志,工作的致命错误可能发生在工作流之外,因此在调试器中通常是捕获不到的。可以通过打开最新的日志,从下面开始查找“workfkow”关键字来找到相关内容。日志是获取监管信息 的一个重要来源。日志文件存放在%Program Files%\Common Files\Microsoft Shared\web server extensions\12\LOGS目录。

    下一个章节:总结
    谢谢!

    【Blog】http://virusswb.cnblogs.com/

    【MSN】jorden008@hotmail.com

    【说明】转载请标明出处,谢谢

    反馈文章质量,你可以通过快速通道评论:

  • 相关阅读:
    json.parse 与 json.stringfy
    window.self ->window.top->window.parent
    Matrix探究细谈
    android TypedValue.applyDimension()的探究
    Android判断屏幕锁屏的步骤总结
    Intent和IntentFilter详解
    android中活动的启动模式
    android中的显式与隐式Intent
    android中的Pending.getActivity()参数详解
    android之传感器
  • 原文地址:https://www.cnblogs.com/virusswb/p/1340502.html
Copyright © 2020-2023  润新知