2017-05-05 7 views
0

リモートIISにWCFサービスを展開するとき、私は、 はまず、問題を持っているソリューションは、二つのプロジェクトsystem.serviceModel/serviceHostingEnvironment/serviceActivationsを解決する方法が見つかりませんでした。 iis hosted wcfサービスでエラーが発生しましたか?

  1. WCFライブラリ(ExchangeMailCore)
  2. WCFアプリケーション(ExchangeMailService)
  3. インサイド

が含まれている対私が持っています私の図書館プロジェクトには、ExchangeEmailService.csExchangeEmailService.csファイルがあります。

enter image description here

それから私は、ExchangeMailServiceプロジェクトにライブラリを含めて

<%@ServiceHost Language="C#" Debug="true" Service="ExchangeMailCore.ExchangeEmailService" %> 

私のweb.configファイルを次のように次のように新しい.SVCファイルを作成し、

<?xml version="1.0"?> 
<configuration> 

    <appSettings> 
    <!--<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />--> 
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> 
    <add key="ClientSettingsProvider.ServiceUri" value="" /> 
    </appSettings> 


    <system.web> 

    <!--<compilation debug="true" targetFramework="4.5" /> 
    <httpRuntime targetFramework="4.5"/>--> 
    <compilation debug="true" /> 
    <membership defaultProvider="ClientAuthenticationMembershipProvider"> 
     <providers> 
     <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" /> 
     </providers> 
    </membership> 
    <roleManager defaultProvider="ClientRoleProvider" enabled="true"> 
     <providers> 
     <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" /> 
     </providers> 
    </roleManager> 
    </system.web> 



    <system.serviceModel> 

    <!--<bindings> 
     <basicHttpBinding> 
     <binding name="NetTcpBindingEndpointConfig"> 
      --><!--<security mode="Message" />--><!-- 
      <security mode="Transport"> 
      <transport clientCredentialType="Windows"> 
      </transport> 
      --><!--<message clientCredentialType=""/>--><!-- 
      </security> 
     </binding> 
     </basicHttpBinding> 
    </bindings>--> 


    <!--<services> 
     <service name="ExchangeMailCore.ExchangeEmailService"> 
     </service> 
    </services>--> 

    <services> 
     <service name="ExchangeMailCore.ExchangeEmailService"> 
     <endpoint address="" binding="basicHttpBinding" contract="ExchangeMailCore.IExchangeEmailService" /> 
     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
     <host> 
      <baseAddresses> 
      <add baseAddress="http://localhost:8734/Design_Time_Addresses/ExchangeMailCore/ExchangeEmailService/" /> 
      </baseAddresses> 
     </host> 
     </service> 
    </services> 


    <!--<behaviors> 
     <serviceBehaviors> 
     <behavior> 
      --><!-- To avoid disclosing metadata information, set the values below to false before deployment --><!-- 
      <serviceMetadata httpGetEnabled="True" httpsGetEnabled="False"/> 
      --><!-- 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="true"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors>--> 


    <behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <!-- To avoid disclosing metadata information, 
      set the values below to false before deployment --> 
      <serviceMetadata httpGetEnabled="True" httpsGetEnabled="False" /> 
      <!-- 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> 


    <!--<protocolMapping> 
     <add binding="basicHttpBinding" scheme="http" /> 
    </protocolMapping>  

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />--> 

    </system.serviceModel> 



    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    <!-- 
     To browse web app root directory during debugging, set the value below to true. 
     Set to false before deployment to avoid disclosing web app folder information. 
     --> 
    <directoryBrowse enabled="true"/> 

    </system.webServer> 

</configuration> 

これは完璧に動作しますlocalhostでは、リモートサーバにデプロイすると、次のエラーが返されます。

enter image description here

.NET Frameworkが4.5

あるいずれかがこの上で役立つことができますか?

答えて

1

美しい夜を過ごした後、解決策が見つかりました。解決策は、配備されたフォルダのbinフォルダに必要なライブラリファイル(.dll)を追加することでした。電子メールの抽出にEWSを使用していました。公開フォルダのフォルダ、ありがとう、これは誰かに役立つホップ。

関連する問題