2017-08-02 32 views
1

こんにちは私はwcfアプリケーションを開発していて、私はそれをローカルで実行しようとしています。私は、データベースの一部のデータを更新する簡単なアプリケーションを開発しています。以下は私のコードです。ローカルホストでwcfサービスを実行できません

[ServiceContract] 
public interface IOpportunity 
{ 
    [OperationContract] 
    bool updateOpportunity(opportunityActivity obj); 
} 
[DataContract] 
public class opportunityActivity 
{ 
    [DataMember] 
    public string opportunityID { get; set; } 
    [DataMember] 
    public string opportunityStatus { get; set; } 
    [DataMember] 
    public string opportunityserviceType { get; set; } 
} 

public class Opportunity : IOpportunity 
{ 
    public bool updateOpportunity(opportunityActivity obj) 
    { 
     Test_ROLSP_DB_V1Entities dbobject = new Test_ROLSP_DB_V1Entities(); 
     bool isexists = (from c in dbobject.OpportunityActivityDetails where c.RSOpportunityID == obj.opportunityID select c).Any(); 
     if(isexists) 
     { 
      using (var db = new Test_ROLSP_DB_V1Entities()) 
      { 
       OpportunityActivityDetail oppObject =(from c in db.OpportunityActivityDetails where c.RSOpportunityID==obj.opportunityID select c).FirstOrDefault(); 
       oppObject.DateModified = DateTime.Now; 
       oppObject.ActivityStatus = obj.opportunityStatus; 
       oppObject.ServiceType = obj.opportunityserviceType; 
       int isupdated=db.SaveChanges(); 
       if(isupdated==1) 
       { 
        return true; 
       } 
       else 
       { 
        return false; 
       } 
      } 

     } 
     else 
     { 
      return false; 
     } 
    } 
} 

私は上記の解決策を間違いなく実行できます。以下はweb.configコードです。私は上記のコードを実行すると、私はopportunity.svcをクリックしたとき、私は、ディレクトリ一覧 enter image description here

を取得

<services> 
    <service name="RayaSoapService.Opportunity"> 
    <endpoint address="" contract="RayaSoapService.IOpportunity" binding="basicHttpBinding"/> 
    <endpoint address="mex" contract="IMetadataExchange" binding="mexHttpBinding"/> 
    </service> 
</services> 

私は以下のエラーを取得します。 ServiceHostディレクティブのService属性値として提供される、または構成要素system.serviceModel/serviceHostingEnvironment/serviceActivationsで指定されたタイプ 'RayaSoapService.Service1'が見つかりませんでした。

WCFを初めて使用しています。上記のエラーがなぜ発生するのか分かりますか?私は上記のアプリケーションを実行する正しい方法に従っていますか?どんな助けもありがとう。ありがとうございました。

+0

https://docs.microsoft.com/en -us/dotnet/framework/wcf/how-to-host-a-wcf-service-in-a-managed-application – Hybridzz

+0

http://code-zest.blogspot.sg/2013/10/different-ways-to -run-wcf-services.html – Hybridzz

答えて

0

WCFサービスアプリケーションを作成すると、Service1.svcが自動的に作成されます。このファイルの名前を変更すると、Service1という名前はsvcファイルに残ります。メモ帳でOpportunity.svcを開き、Service1を機会に変更します。

<%@ ServiceHost Language="C#" Debug="true" Service="Service1" CodeBehind="Opportunity.svc.cs" %> 

これは.NETのバグです。あなたがWCFサービスにデフォルト名を変更した場合あなたのopportunity.svcファイルパスに命名

+0

自分で修正しました。ありがとう.. –

+0

私は上記のサービスにXML入力を与える方法を知っているかもしれませんか? –

0

変更が

<%@ ServiceHost Language="C#" Debug="true" Service="RayaSoapService.Opportunity" CodeBehind="Opportunity.svc.cs" %> 

、行うには、もう少し命名あり

関連する問題