Я довольно новичок в wf4, но создал простое консольное приложение с возможностями отправки, утверждения и отклонения.Сейчас я пытаюсь создать приложение asp.net, которое использует созданную мной службу, но получаю исключение ошибки, как показано ниже.Это отлично работало в моем консольном приложении
The execution of an InstancePersistenceCommand was interrupted because
the instance key '3a552603-c92f-2424-085c-7b6fc1a0e98e' was not associated to
an instance
В основном я создал 3 простых страницы.Первая страница - это простая форма, где пользователь отправляет запрос.2-я страница просто печатает список запросов.Нажав на один из запросов, вы попадете на 3-ю страницу, где печатается более подробный вид запроса с кнопкой подтверждения и отклонения.Я использую GUID для корреляции, которая передается на 3-ю страницу через строку запроса.Нажатие на кнопку подтверждения запускает метод подтверждения службы, передающей значение строки запроса.На данный момент я получаю исключение.Странно то, что guid в сообщении об ошибке не совпадает со значением, которое я передаю.
Любые идеи ниже - мой код, который помогает
1-я страница
protected void Unnamed1_Click(object sender, EventArgs e) {
ServiceReference1.ServiceClient Client = new ServiceReference1.ServiceClient();
ServiceReference1.Request R = new ServiceReference1.Request();
R.Title = TxtRequestTitle.Text;
R.Amount = Convert.ToInt32(TxtAmount.Text);
Guid g = Guid.NewGuid();
Client.SubmitRequest(R, g);
Response.Write("submitted");
}
2-я страница
protected void Page_Load(object sender, EventArgs e) {
using (SqlConnection con = new SqlConnection(@"Data Source=bantai11\sqlexpress;Initial Catalog=RequestMonkey;Integrated Security=True;Asynchronous Processing=True")) {
using (SqlCommand com = new SqlCommand()) {
com.Connection = con;
com.CommandType = System.Data.CommandType.Text;
com.CommandText = "Select InstanceId, Title, state from Requests";
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(com);
sda.Fill(dt);
rp.DataSource = dt;
rp.DataBind();
}
}
}
3-я страница
protected void Page_Load(object sender, EventArgs e) {
this._id = Request.QueryString.Get("Id");
using (SqlConnection con = new SqlConnection(@"Data Source=bantai11\sqlexpress;Initial Catalog=RequestMonkey;Integrated Security=True;Asynchronous Processing=True")) {
using (SqlCommand com = new SqlCommand()) {
con.Open();
com.Connection = con;
com.CommandType = System.Data.CommandType.Text;
com.CommandText = "Select InstanceId, Title, state from Requests where instanceid = '" + this._id + "'";
SqlDataReader dr = com.ExecuteReader();
dr.Read();
lblTitle.Text = dr[1].ToString();
lblGuid.Text = dr[0].ToString();
lblAmount.Text = "0";
}
}
}
protected void btnApprove_Click(object sender, EventArgs e) {
ServiceReference1.ServiceClient Client = new ServiceReference1.ServiceClient();
Client.Approve(1, this._id);
}