не могу найти сервис wcf из другого сервиса wcf iis 7 - PullRequest
0 голосов
/ 10 января 2012

Я получаю сообщение об ошибке компиляции из IIS 7 на линии, где я создаю другой сервис.

"CS0246: Не удалось найти имя типа или пространства имен 'MyOtherService' (отсутствует директива using или ссылка на сборку?)"

Нужно ли добавить другую ссылку на сборкуслужба в файле web.config?Вот мой веб-конфиг:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="MyService.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <system.web>
    <customErrors mode="Off"/>
    <compilation debug="true">
      <assemblies>
        <add assembly="Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
      </assemblies>
    </compilation>
  </system.web>
  <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="MyServiceBinding">
          <security mode="Message">
            <message clientCredentialType="Windows"/>
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <services>
      <service name="MyService">
        <endpoint binding="wsHttpBinding" behaviorConfiguration="webHttp" contract="MyService">
          <identity>
            <dns value="https://IPADDRESS:443"/>
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <endpointBehaviors>
        <behavior name="webHttp">
          <webHttp defaultOutgoingResponseFormat="Json" />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="WCFWsHttpBindingHttps.MyServiceBehavior">
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

 <applicationSettings>
  <MyService.Properties.Settings>
   <setting name="MyService_MyOtherService_MyOtherService" serializeAs="String">
    <value>http://path-to-service/MyOtherService.svc</value>
   </setting>
  </MyService.Properties.Settings>
 </applicationSettings>
</configuration>

1 Ответ

0 голосов
/ 10 января 2012

Пожалуйста, проверьте следующий элемент:

<service name="MyService">
     <endpoint binding="wsHttpBinding" behaviorConfiguration="webHttp" contract="MyService">
       <identity>
         <dns value="https://IPADDRESS:443"/>
       </identity>
     </endpoint>
     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
 </service> 

Атрибут name в сервисном элементе должен быть полностью квалифицированным. например: namespace.MyService - это значение, которое должно присутствовать

То же самое для атрибута контракта в элементе конечной точки, он должен быть полностью квалифицированным. например: namespace.IMyService

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...