Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WF4托管将自托管控制台应用程序转换为IIS中托管的服务_Iis_Workflow Foundation 4 - Fatal编程技术网

WF4托管将自托管控制台应用程序转换为IIS中托管的服务

WF4托管将自托管控制台应用程序转换为IIS中托管的服务,iis,workflow-foundation-4,Iis,Workflow Foundation 4,我有一个控制台应用程序项目,它是一个使用WorkflowServiceHost自托管的工作流服务。它包含流程图工作流定义xaml和cs文件中的一些自定义活动。此应用程序通过服务引用连接到托管为.svc的WCF数据服务。我有一个aspnet web应用程序,通过服务引用与工作流服务交互。一切正常 我想将工作流服务控制台应用程序转换为托管在IIS上,我正在使用IIS5开发,而实时环境是IIS6,但我不确定如何进行。我尝试创建一个WCF WorkflowService应用程序项目,并将我的xaml复制

我有一个控制台应用程序项目,它是一个使用WorkflowServiceHost自托管的工作流服务。它包含流程图工作流定义xaml和cs文件中的一些自定义活动。此应用程序通过服务引用连接到托管为.svc的WCF数据服务。我有一个aspnet web应用程序,通过服务引用与工作流服务交互。一切正常

我想将工作流服务控制台应用程序转换为托管在IIS上,我正在使用IIS5开发,而实时环境是IIS6,但我不确定如何进行。我尝试创建一个WCF WorkflowService应用程序项目,并将我的xaml复制到xamlx-不确定我是否需要这样做,并在,并为我的WCF数据服务创建了一个服务引用,但当我试图浏览xamlx时,我遇到了一个错误,无法创建未知类型x x,因为它应该能够通过它拥有的服务引用看到该类型


我的托管选项是什么?我必须使用WorkflowServiceApplication还是可以使用.svc托管?有人能给我指点一下教程或是告诉我需要做什么吗?此外,如果可能的话,我希望在类库项目中有工作流定义,从而将其与宿主分离。不过并不重要。

XAML和XAMLX文件几乎相同,但并不完全相同。XAML文件将生成一个类来包装XAML,您可以像处理普通类一样处理该类型。XAMLX文件不会在运行时编译和解析。根元素对于这两个元素也是不同的,并且XAMLX没有x:Class属性,因为它没有被编译


最简单的方法是创建一个XAMLX文件,然后将活动从XAML文件复制到XAMLX文件中。

好的,我想我已经解决了类型问题,我使用类型构建了一个新的简化的.xamlx,其中只包含初始的接收和发送回复,区别在于名称空间声明是clr namespace:myproject.myservicef;汇编=我的项目;而控制台应用程序没有程序集定义。在IIS中使用Windows集成身份验证时,我似乎无法实现此功能-获取此服务的错误安全设置需要“匿名”身份验证,但承载此服务的IIS应用程序未启用此功能。我的WCF服务正在使用windows auth和TransportCredentialOnly进行工作,因此我尝试以相同的方式设置工作流的webconfig绑定,但不起作用。有什么想法吗?选中匿名访问可以正常工作。对-我已经确定,您只需要对服务进行最低限度的配置-这是一种公开元数据和workflowinstance存储的行为,并且可以正常工作。我在更改配置时遇到问题,因为我的工作流在WCFTestClient上无法工作,因为测试客户端的配置使用了安全模式none。我仍然无法使WCFTestClient工作,但我的所有其他客户端现在都使用Windows auth,因为它们的配置配置为使用安全模式=传输。我想知道如何让WCFTestClient工作,但我只在调试时使用它,所以它不是关键。我找到了一种方法手动编辑WCFTestClient的配置,然后取消选中“始终重新生成配置”选项,它现在可以工作了。我怀疑应该有一种方法在WF服务配置中指定这一点,但现在它可以工作了,我不打算再去搞它了。