什么服务名称确实为工作流WCF服务(XAMLX)
我试图找出如何提供终端等的WF服务,我创建(MyFoo.xamlx)一个使用。通常,当您创建服务时,您需要使用服务名称=“”反映您创建的服务类型?即通过填写这样的:什么服务名称确实为工作流WCF服务(XAMLX)
<Service name="MyNameSpace.Foo" behaviorConfiguration="myFooBehaviorConfig">
该作品在一个典型的.svc场景,我可以得到的工作的罚款。只有如何将这个概念映射到.xamlx服务?在,如果我有Foo.xamlx把里面的服务名称不工作 - 或(使能在没有元数据)不会出现工作。
如果我再从服务中删除behaviorConfiguration属性,也从<behavior/>
标签取下myFooBehaviorConfig - 在它本质上则需要更多的全局设置为网络配置 - 轰!我可以看到.xamlx暴露的方法/操作?
<serviceBehaviors> <behavior name="foo" >
VS <serviceBehaviors> <behavior >
起初,这是伟大的,不需要任何的努力,但在同一时间,我不想开发者访问HTTP端点或netpipe对这一问题。我只希望他们通过我指定的端口net.tcp进入。为了做到这一点,我需要以某种方式将<Service name=""/>
与xamlx匹配?
我使用创建一个空的.svc文件,然后指着xamlx这种方式(以便开发者总是以为它是一个.SVC而不是.xamlx)
<%@ ServiceHost Language="C#" Debug="true" Service="ActivityHubService.xamlx" Factory="System.ServiceModel.Activities.Activation.WorkflowServiceHostFactory" %>
同样,如果我删除命名的行为等,这也通过foo.svc ..但我似乎就是无法破解的整体匹配与一个刻着xamlx一个<service>
的作品! :) 呵呵。
沮丧..
任何人在这个领域的专家?
我要去给这一个GuerreroTook因为虽然他给出的答案是部分在右侧同一地区它并引发不过的“是的,也许它的那么简单。”思考片刻。 。
的解决方案是这样的:
<services>
<service name="ActivityHubService" behaviorConfiguration="foo">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="netTCPStreamedBinding" contract="IService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://synapse.hub.security:669/SynapseHubSecurity/ActivityHubService" />
</baseAddresses>
</host>
</service>
</services>
然后一个服务,我叫PingService.svc里面我把这个:
<%@ ServiceHost Language="C#" Debug="true" Service="ActivityHubService.xamlx" Factory="System.ServiceModel.Activities.Activation.WorkflowServiceHostFactory" %>
这似乎做的伎俩! :)
不知道为什么,但我发誓我没有这个像3倍,它failed..but ...我也是有需要的睡眠..
希望这将有助于其他人在同一果酱下来跟踪。
根据你的要求,我明白你需要暴露一个WF工作流作为一个WCF服务,你想客户端通过WCF基础设施直接拨打电话WF,是这样吗?
你面临的问题是,你需要提供类的全限定名,以工厂找到并激活您的WF工作流程。如果您在VisualStudio中有一个典型的WP项目,则完全限定名称是项目名称+类名称,请尝试此操作。
当您构建工作流xaml文件时,编译将生成一个包含该类的代码和逻辑,并遵循xaml(WPF和Silverlight)编译器的相同行为,该类的名称将与文件(.xamlx)
我认为这将是更传统的礼仪接受你自己的答案(因为它是最正确的),只是upvote @ GuerreroTook的答案,因为它帮助你。下一个遇到同样问题的人可能更喜欢在顶部看到最完整/正确的答案。 :) – jalf 2011-03-29 16:10:27
谢谢你,我一直在头撞砖墙整天在这:)上帝保佑你,上帝保佑SO – 2011-05-03 15:28:15