1

내가 만든 WF 서비스 (예 : MyFoo.xamlx)에 끝점 등을 제공하는 방법을 파악하려고합니다. 일반적으로 서비스를 만들 때 생성 한 서비스 유형을 반영하는 서비스 이름 = ""이 있어야합니다. 즉, 이런 식으로 뭔가를 작성하여 :워크 플로 WCF 서비스 (XAMLX)에 어떤 서비스 이름을 사용합니까?

<Service name="MyNameSpace.Foo" behaviorConfiguration="myFooBehaviorConfig">

이 일반 SVC는 시나리오에서 작동하고 내가 잘 작동하고 있음을 얻을 수 있습니다. 이 개념을 .xamlx 서비스에 매핑하는 방법은 무엇입니까? 그 안에있는 Foo.xamlx 서비스 이름 안에 넣는 것이 작동하지 않거나 작동하지 않는 것으로 나타납니다 (메타 데이터를 사용할 수 없기 때문에). 의 본질적 다음 웹 설정에 대한 전역 설정을 더에 소요 - - 붐 난 후 <behavior/> 태그에서 myFooBehaviorConfig을 제거 또한 서비스에서 속성을 behaviorConfiguration을 제거하고 경우

! .xamlx 메서드/작업이 노출 된 것을 볼 수 있습니까? 이 대단한

<serviceBehaviors> <behavior name="foo" > 처음에는 <serviceBehaviors> <behavior >

대, 노력이 필요하지 않습니다하지만 동시에 나는 DEVS 그 문제에 대해 HTTP 엔드 포인트 또는 netpipe에 액세스하지 않습니다. 나는 그들이 단지 net.tcp 포트를 통해 들어 오길 원합니다. 그러기 위해서 어떻게 든 xamlx에 <Service name=""/>을 매치 할 필요가 있습니까?

나는 또한

<%@ ServiceHost Language="C#" Debug="true" Service="ActivityHubService.xamlx" Factory="System.ServiceModel.Activities.Activation.WorkflowServiceHostFactory" %>

합니다 (DEVS는 항상 그에게 SVC는 아닌 .xamlx 가정 있도록) 그런 식으로 빈 SVC는 파일을 만든 다음 xamlx를 가리키는의 트릭을 사용하려고했습니다

다시 말하지만,이 동작은 foo.svc를 통해서도 작동합니다. 그러나 나는 단지 <service>과 같은 전체를 xracking하지 못하는 것 같습니다 !! :) hehe.

좌절 ..

사람이 공간에서 전문가?

답변

5

그가 대답은 부분적으로 맞았지만 부분적으로는 "좋아, 아마도 그 간단한 ..."생각을 불러 일으키기는했지만, GuerreroTook에게이 파일을 제공 할 것입니다. .그리고 내가 PingService.svc라는 서비스 내에서 이걸 넣어


<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> 

:

솔루션이되었다 트릭을 할 것 같았다

<%@ ServiceHost Language="C#" Debug="true" Service="ActivityHubService.xamlx" Factory="System.ServiceModel.Activities.Activation.WorkflowServiceHostFactory" %> 

! :)

하지하지만 난 ... 난 잠을 필요로 또한 오전 3 배 그리고 failed..but처럼 이런 짓을 맹세 확실한 이유 ..

는 희망이 아래쪽 같은 걸림이 다른 사람을 도움이 될 것입니다 선로.

+0

나는 그것이 당신을 도왔던 이래로 당신 자신의 대답을 받아들이는 것이 더 일반적인 것이 었습니다. (가장 정확한 것 같습니다.) 그리고 그냥 upvote @ GuerreroTook의 대답입니다. 같은 문제를 겪을 다음 사람은 맨 위에 가장 완전하고 정확한 답변을 보는 것을 선호합니다. :) – jalf

+0

고마워요. 하루 종일 벽돌 벽에 머리를 두드 리고있었습니다. :) 신의 축복이 있습니다. 신의 축복이 가득합니다. –

2

당신이 물어 본 내용을 토대로 WF 워크 플로를 WCF 서비스로 노출해야하며 클라이언트가 WCF 인프라를 통해 직접 WF를 호출하기를 원한다는 것을 이해합니다.

당신이 직면 한 문제는 공장에서 WF 워크 플로를 찾고 활성화하기 위해 클래스의 정규화 된 이름을 제공해야한다는 것입니다. VisualStudio 안에 일반적인 WP 프로젝트가있는 경우 Full Qualified Name은 프로젝트의 이름 + 클래스 이름입니다.

워크 플로 xaml 파일을 빌드하면 컴파일은 코드와 논리를 유지하는 클래스를 생성하고 xaml (WPF 및 Silverlight) 컴파일러와 동일한 동작을 따라 클래스 이름이 파일 (.xamlx)

관련 문제