从应用程序

时间:2018-04-13 02:49:51

标签: c# windows .net-remoting

我正在尝试使用应用程序中的窗口将数据插入数据库。我把它托管到控制台应用程序。我正在使用.net远程调用来调用该方法。我的主机运行没有任何问题,我也可以运行Windows窗体应用程序没有任何问题。但问题是当我点击提交按钮插入数据时我得到了错误。我不知道为什么我会收到此错误。

  

null引用异常。

这是界面。

namespace IHelloRemotingService
{
    public interface IHelloRemotingService
    {

        void Insert(string Name, string Address, string Email, string Mobile)
    }


}

这是接口的实现..

public class HelloRemotingService : MarshalByRefObject , IHelloRemotingService.IHelloRemotingService
{
    public void Insert(string Name, string Address, string Email, string Mobile)
        {
            string constr = ConfigurationManager.ConnectionStrings["StudentConnectionString"].ConnectionString;
            using (SqlConnection con = new SqlConnection(constr))
            {
                using (SqlCommand cmd = new SqlCommand("AddNewStudent", con))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@Name", Name);
                    cmd.Parameters.AddWithValue("@Address", Address);
                    cmd.Parameters.AddWithValue("@EmailID", Email);
                    cmd.Parameters.AddWithValue("@Mobile", Mobile);
                    cmd.Connection = con;
                    con.Open();
                    cmd.ExecuteNonQuery();
                    con.Close();

                }
            }
        }
    }
    }

这是应用程序的屏幕截图。

enter image description here

Windows窗体应用程序代码..

namespace HelloRemotingServiceClient
{
    public partial class InsertStudentData : Form
    {

        IHelloRemotingService.IHelloRemotingService client;
        public InsertStudentData()
        {
            InitializeComponent();
            TcpChannel channel = new TcpChannel();
            ChannelServices.RegisterChannel(channel);
            client = (IHelloRemotingService.IHelloRemotingService)Activator.GetObject(
                typeof(IHelloRemotingService.IHelloRemotingService), "tcp://localhost:500/Insert");
        }



        private void button1_Click(object sender, EventArgs e)
        {


            client.Insert(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text);

                label5.Text = "Data is inserted ";

        }


    }
}

以下是错误消息的屏幕截图。

enter image description here

0 个答案:

没有答案