0

私は WCF テクノロジの初心者です。私の現在の問題は、私の Windows フォーム アプリが wcf プログラムから応答を得ていないことです。これが私のWindowsフォームアプリのコードです:

WCFService.PMSService obj = new WCFService.PMSService();      
string xx = obj.Test("Hello");
MessageBox.Show(xx);

Windows フォーム アプリがこの行でハングします -> string xx = obj.Test("Hello");

wcf my program のコードは次のとおりです。

インターフェイス/宣言ページ

 // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface IPMSService
    {
        [OperationContract]
        string DetermineGender(PersonalInfo pInfo);

        [OperationContract]
        string Test(string val);
    }

    [DataContract]
    public enum Gender
    {
        [EnumMember]
        Male,
        [EnumMember]
        Female,
        [EnumMember]
        None
    }

    // Use a data contract as illustrated in the sample below to add composite types to service operations
    [DataContract]
    public class PersonalInfo
    {
        [DataMember]
        public string name
        {
            get { return name; }
            set { name = value; }
        }

        [DataMember]
        public string surname
        {
            get { return surname; }
            set { surname = value; }
        }

        [DataMember]
        public string idNo
        {
            get { return idNo; }
            set { idNo = value; }
        }

実装ページ

 // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
    public class PMSService : IPMSService
    {
        public string DetermineGender(PersonalInfo pInfo)
        {
            Gender Result = Gender.None;

            int idNo = Convert.ToInt32(pInfo.idNo.Substring(6, 4));

            if (idNo >= 5000)
                Result = Gender.Male;
            else
                Result = Gender.Female;

            return Result.ToString();
        }

        public string Test(string val)
        {
            return "U passed " + val;
        }
    }

考えられる原因を知っている人はいますか?

4

1 に答える 1

1

WCF を初めて使用する人への最善の提案 (そしておそらく多くの人が見落としていることは明らかです) は、WCF トレースとメッセージ ログに慣れることです。WCF トレース機能は、WCF サービスとの間の通信を監視するための比較的単純な組み込みメソッドを提供します。テストおよびデバッグ環境では、情報または詳細なアクティビティ トレースを構成し、メッセージ ログを有効にします。アクティビティ トレースとメッセージ ロギングの組み合わせは、新しいサービスを最初に展開してテストするとき、または既存のサービスに新しい操作や通信バインディングを追加するときに有益であることが証明されるはずです。

次のリンクは概要を説明してい
ます

于 2013-11-02T18:49:27.213 に答える