2012-03-07 5 views
0

私はwcfを使ってサービスを作っていました。私はそれをasp.net型のクライアントにプロジェクトを作ることでテストしました。そして完璧に動作します。IIS上でサービスとクライアントをホストしました。ビジュアルスタジオを開かずに実行します。ビジュアルスタジオを閉じてクライアントプロジェクトのURLを入力すると、このエラーが表示されます。実際の環境でwcfをテストする方法

ServiceModelクライアント構成セクションで 'ServiceReference1.IService1'という契約を参照する既定のエンドポイント要素が見つかりませんでした。何の設定ファイルは、アプリケーションの見つからなかったため、またはこの契約に一致するエンドポイント要素は、クライアントの要素で見つけることができなかったためである可能性があります。

説明現在のWeb要求の実行中に、未処理の例外が発生しました。エラーの詳細とコード内のどこで発生したのかについては、スタックトレースを参照してください。

Exception Details: System.InvalidOperationException: Could not find default endpoint element that references contract 'ServiceReference1.IService1' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element.

Source Error:

Line 27: Line 28: System.IO.FileInfo fileinfo = new System.IO.FileInfo(FileUpload1.PostedFile.FileName); Line 29:
ServiceReference1.IService1 clientupload = new ServiceReference1.Service1Client(); Line 30:
ServiceReference1.RemoteFileInfo uploadRequestInfo = new ServiceReference1.RemoteFileInfo(); Line 31: Link = FileUpload1.PostedFile.FileName;

Source File: C:\Users\KHALED\documents\visual studio 2010\Projects\WcfServicefiles\WebApplication2\Default.aspx.cs Line: 29
here's the web.config of the service

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

    <system.web> 
    <compilation debug="true" targetFramework="4.0"/> 
    <httpRuntime maxRequestLength="2097151" 
    useFullyQualifiedRedirectUrl="true" 
    executionTimeout="14400"/> 
    </system.web> 
    <system.serviceModel> 
    <client /> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior> 

      <!-- 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="true"/> 
      <dataContractSerializer maxItemsInObjectGraph="6553600"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <bindings> 
     <basicHttpBinding> 
     <binding name="Service1" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" 
      transferMode="Streamed"> 
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" 
      maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
      <security mode="None"> 
      <transport clientCredentialType="Ntlm" /> 
      </security> 
     </binding> 
     </basicHttpBinding> 
    </bindings> 
    <services> 
     <service name="WcfServicefinal.Service1" > 
     <endpoint address="" binding="basicHttpBinding" 
        bindingConfiguration="Service1" 
        contract="WcfServicefinal.IService1" > 

     </endpoint> 
     </service> 

    </services> 

     <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    </system.serviceModel> 
<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    </system.webServer> 

</configuration> 

ここでは、最初に行くように、コンソールアプリでサービスをホスティングしてみてくださいすることをお勧めかもしれ

<?xml version="1.0"?> 

<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 

<configuration> 
    <connectionStrings> 
    <add name="ApplicationServices" 
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

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

    <authentication mode="Forms"> 
     <forms loginUrl="~/Account/Login.aspx" timeout="2880" /> 
    </authentication> 

    <membership> 
     <providers> 
     <clear/> 
     <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" 
      enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" 
      maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" 
      applicationName="/" /> 
     </providers> 
    </membership> 

    <profile> 
     <providers> 
     <clear/> 
     <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/> 
     </providers> 
    </profile> 

    <roleManager enabled="false"> 
     <providers> 
     <clear/> 
     <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" /> 
     <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" /> 
     </providers> 
    </roleManager> 

    </system.web> 

    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    </system.webServer> 
    <system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
     <binding name="BasicHttpBinding_IService1" closeTimeout="00:01:00" 
      openTimeout="04:01:00" receiveTimeout="04:10:00" sendTimeout="04:01:00" 
      allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
      maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" 
      messageEncoding="Text" textEncoding="utf-8" transferMode="Streamed" 
      useDefaultWebProxy="true"> 
      <readerQuotas maxDepth="128" maxStringContentLength="2147483647" maxArrayLength="2147483647" 
      maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
      <security mode="None"> 
      <transport clientCredentialType="None" proxyCredentialType="None" 
       realm="" /> 
      <message clientCredentialType="UserName" algorithmSuite="Default" /> 
      </security> 
     </binding> 
     </basicHttpBinding> 
    </bindings> 
    <client> 
     <endpoint address="http://localhost/WcfServicefinal/Service1.svc" 
     binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1" 
     contract="ServiceReference1.IService1" name="BasicHttpBinding_IService1" /> 
    </client> 
    </system.serviceModel> 
</configuration> 
+0

はいVS –

+0

を実行せずにサービスに移動できます。サービスとクライアントのweb.configを追加しました –

答えて

0

クライアントのweb.configファイルです。 Seanはそうです、あなたの設定を見ることは役に立ちます。

サービスをVisual Studioで実行すると、自動的にサービスがホストされます。 Visual Studioの外部でテストする場合:サービスホストを実行し、ブラウザを開いてホストのBASEアドレスを入力します。 meataデータが利用可能であれば、wsdl定義へのリンクがあるページが表示されます。

ベースアドレスは、あなたのマシンのIPアドレスでhttp://192.168.89.73:8080/baseのようにポート番号を見て.... VSに同梱

関連する問題