我正在尝试使用应用程序中的窗口将数据插入数据库。我把它托管到控制台应用程序。我正在使用.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();
}
}
}
}
}
这是应用程序的屏幕截图。
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 ";
}
}
}
以下是错误消息的屏幕截图。