2013-04-26 2 views
0

Добрый деньхостинг службы WCF в службе Windows,

Я хочу разместить службу WCF в службе Windows, и как таковой, я слежу за учебник: http://msdn.microsoft.com/en-us/library/ff649818.aspx

Во «Шаг 8: Добавить службы WCF Ссылка на клиента» я получаю следующие ошибки:

  • не удалось подключиться к net.Tcp: // LOCALHOST: 100/триггерами.
  • Попытка подключения продолжалась в течение 00: 00: 02.0058550.
  • TCP код ошибки 10061: Подключение не может быть сделано, потому что целевая машина активно отказалась его 127.0.0.1:100

Я попробовал большинство, если не все решения, упомянутые на следующем сайте: http://social.msdn.microsoft.com/forums/en-US/wcf/thread/58e420e9-43a3-4119-b541-d18158038e36/ безрезультатно.

Может кто-нибудь, пожалуйста, осветить какой-нибудь свет по этому поводу?

Ниже приводится WCF конфигурационный файл:

<?xml version="1.0"?> 
<configuration> 
<connectionStrings> 
<!-- <add name="ABSAConnectionString" connectionString="Data Source=192.168.0.18;Initial Catalog=ABSA;Integrated Security=False;user=Wimpie;password=menschen;" --> 
<!-- Charlene --> 
<!--<add name="ABSAConnectionString" connectionString="Data Source=ik-charlene\SQL2008;Initial Catalog=ABSA;Integrated Security=True" providerName="System.Data.SqlClient" />--> 
<add name="ABSAConnectionString" connectionString="Data Source=.\;Initial Catalog=ABSANICO;Integrated Security=True" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

<system.web> 
<compilation debug="true" targetFramework="4.0" /> 
<authentication mode="Forms"/> 

<authorization> 
    <!--<deny users="?"/>--> 
    <allow users="?"/> 
</authorization> 
<membership defaultProvider="Membership"> 
    <providers> 
    <clear/> 
    <add name="Membership" type="ABSAService.Membership"/> 
    </providers> 
</membership> 

</system.web> 
<system.serviceModel> 
<services> 
    <service name="ABSAService.Triggers" behaviorConfiguration="ABSAService.TriggersBehavior" > 
    <endpoint address="" binding="netTcpBinding" bindingConfiguration="" contract="ABSAService.ITriggers"> 
     <identity> 
     <dns value="localhost" /> 
     </identity> 
    </endpoint> 
    <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" contract="IMetadataExchange" /> 
    <host> 
     <baseAddresses> 
     <add baseAddress="net.tcp://localhost:100/Triggers" /> 
     </baseAddresses> 
    </host> 
    </service> 
</services> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="ABSAService.TriggersBehavior"> 
     <serviceMetadata httpGetEnabled="false" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
</system.serviceModel> 


<system.diagnostics> 
<sources> 
    <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true"> 
    <listeners> 
     <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData= "c:\log\Traces.svclog" /> 
    </listeners> 
    </source> 
    <source name="CardSpace"> 
    <listeners> 
     <add name="xml" /> 
    </listeners> 
    </source> 
    <source name="System.IO.Log"> 
    <listeners> 
     <add name="xml" /> 
    </listeners> 
    </source> 
    <source name="System.Runtime.Serialization"> 
    <listeners> 
     <add name="xml" /> 
    </listeners> 
    </source> 
    <source name="System.IdentityModel"> 
    <listeners> 
     <add name="xml" /> 
    </listeners> 
    </source> 
    <source name="UserTraceSource" switchValue="Warning, ActivityTracing" > 
     <listeners> 
      <add name="xml" 
      type="System.Diagnostics.XmlWriterTraceListener" 
      initializeData="C:\logs\UserTraces.svclog" /> 
     </listeners> 
    </source>  
</sources> 

<trace autoflush="true" /> 

<sharedListeners> 
    <add name="xml" 
      type="System.Diagnostics.XmlWriterTraceListener" 
      initializeData="c:\log\Traces.svclog" /> 
</sharedListeners> 
</system.diagnostics> 
</configuration> 

Далее это конфигурационный файл службы Windows (который так же, как и выше в зависимости от урока):

<?xml version="1.0"?> 
<configuration> 
<connectionStrings> 
<!-- <add name="ABSAConnectionString" connectionString="Data Source=192.168.0.18;Initial Catalog=ABSA;Integrated Security=False;user=Wimpie;password=menschen;" --> 
<!-- Charlene --> 
<!--<add name="ABSAConnectionString" connectionString="Data Source=ik-charlene\SQL2008;Initial Catalog=ABSA;Integrated Security=True" providerName="System.Data.SqlClient" />--> 
<add name="ABSAConnectionString" connectionString="Data Source=.\;Initial Catalog=ABSANICO;Integrated Security=True" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

<system.web> 
<compilation debug="true" targetFramework="4.0" /> 
<authentication mode="Forms"/> 

<authorization> 
    <!--<deny users="?"/>--> 
    <allow users="?"/> 
</authorization> 
<membership defaultProvider="Membership"> 
    <providers> 
    <clear/> 
    <add name="Membership" type="ABSAService.Membership"/> 
    </providers> 
</membership> 

</system.web> 
<system.serviceModel> 
<services> 
    <service name="ABSAService.Triggers" behaviorConfiguration="ABSAService.TriggersBehavior" > 
    <endpoint address="" binding="netTcpBinding" bindingConfiguration="" contract="ABSAService.ITriggers"> 
     <identity> 
     <dns value="localhost" /> 
     </identity> 
    </endpoint> 
    <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" contract="IMetadataExchange" /> 
    <host> 
     <baseAddresses> 
     <add baseAddress="net.tcp://localhost:100/Triggers" /> 
     </baseAddresses> 
    </host> 
    </service> 
</services> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="ABSAService.TriggersBehavior"> 
     <serviceMetadata httpGetEnabled="false" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
</system.serviceModel> 
</configuration> 
+0

Извините за этот вопрос - но работает ли ваш сервис Windows? Вы запустили хост wcf во время выигрыша. запуск службы? Кроме того, есть ли у вас брандмауэр, который может блокировать порт 100? Я видел, что вы включили трассировку - просмотрели ли вы его с помощью svcTraceViewer? – evgenyl

+0

@evgenyl Никогда не запускался сервис Windows, который решил проблему. – Ronin

ответ

0

Благодаря evgenyl, указав, что мне пришлось запустить службу Windows. Полностью пропустил этот шаг.

Смежные вопросы