关于silverlight数据库WCF定义问题

Ray_Ying 2010-02-27 12:27:52
字数有限只能分开发代码!
问题1
"SilverlightDBDemo.SericeReference1.DGServiceClient"不包含AddUserCompleted DeleteUserCompleted UpdateUserCompleted 的定义,并且找不到可接受类型为"SilverlightDBDemo.SericeReference1.DGServiceClient"的第一个参数的扩展方法""(是否缺少using指令或程序集引用?)

IDGService.cs

namespace SilverlightDBDemo.Web
{
// 注意: 如果更改此处的接口名称 "IDGService",也必须更新 Web.config 中对 "IDGService" 的引用。
[ServiceContract]
public interface IDGService
{
[OperationContract]
List<user> GetUsers();

}
}
...全文
273 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangfengyi 2012-07-31
  • 打赏
  • 举报
回复
解决了我的大问题,一直困绕我
Ray_Ying 2010-03-03
  • 打赏
  • 举报
回复
问题自己解决了!
[OperationContract]
List <user> GetOne(int id)
[OperationContract]
void AddUser(user user)
[OperationContract]
void UpdateUser(user user)
[OperationContract]
void DeleteUser(int id)
把以上的都添加到IDGService.cs就好了!
Ray_Ying 2010-03-02
  • 打赏
  • 举报
回复
引用 5 楼 netddayup 的回复:
userData是服务端的数据类型还是客户端的啊!?

是服务端的数据类型!
Ray_Ying 2010-03-02
  • 打赏
  • 举报
回复
引用 6 楼 jv9 的回复:
引用 4 楼 ray_ying 的回复:引用 3 楼 jv9 的回复:每次在服务器端定义新的服务契约后,需要在客户端更新服务引用,这样才能在客户端生成新的契约。 更新reference。你好!我已经更新过服务了!但还是不行...

尝试添加新的服务在客户端,添加的时候,会列出服务列表,看列表中是否有你需要调用的方法?我遇到过你的问题,基本都是客户端没有更新,无法获取服务契约造成的。

在我添加新的服务时候!只发现GetUser一个...其它的三个都没有!
jv9 2010-03-02
  • 打赏
  • 举报
回复
引用 4 楼 ray_ying 的回复:
引用 3 楼 jv9 的回复:每次在服务器端定义新的服务契约后,需要在客户端更新服务引用,这样才能在客户端生成新的契约。 更新reference。
你好!我已经更新过服务了!但还是不行...


尝试添加新的服务在客户端,添加的时候,会列出服务列表,看列表中是否有你需要调用的方法?我遇到过你的问题,基本都是客户端没有更新,无法获取服务契约造成的。
netddayup 2010-03-01
  • 打赏
  • 举报
回复
userData是服务端的数据类型还是客户端的啊!?
Ray_Ying 2010-03-01
  • 打赏
  • 举报
回复
引用 3 楼 jv9 的回复:
每次在服务器端定义新的服务契约后,需要在客户端更新服务引用,这样才能在客户端生成新的契约。

更新reference。

你好!我已经更新过服务了!但还是不行...
jv9 2010-02-28
  • 打赏
  • 举报
回复
每次在服务器端定义新的服务契约后,需要在客户端更新服务引用,这样才能在客户端生成新的契约。

更新reference。
Ray_Ying 2010-02-27
  • 打赏
  • 举报
回复
c#后台代码:

using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using SilverlightDBDemo.ServiceReference1;
using System.Windows.Media.Imaging;

namespace SilverlightDBDemo
{
public partial class MainPage : UserControl
{
private static user userData = new user();
private ServiceReference1.DGServiceClient sc = new SilverlightDBDemo.ServiceReference1.DGServiceClient();
private State state;
public enum State
{
Add,Update
}
public MainPage()
{
InitializeComponent();
DataBind();
AddEvents();
LoadLogos();
sc.GetUsersAsync();
}

private void DataBind()
{
ServiceReference1.DGServiceClient sc = new SilverlightDBDemo.ServiceReference1.DGServiceClient();
sc.GetUsersCompleted += new EventHandler<GetUsersCompletedEventArgs>(sc_GetUsersCompleted);
sc.GetUsersAsync();
}
private void AddEvents()
{
sc.GetUsersCompleted +=
new EventHandler<GetUsersCompletedEventArgs>
(sc_GetUsersCompleted);
sc.AddUserCompleted +=
new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>
(sc_AddUserCompleted);
sc.DeleteUserCompleted +=
new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>
(sc_DeleteUserCompleted);
sc.UpdateUserCompleted +=
new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>
(sc_UpdateUserCompleted);
}
void sc_AddUserCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
sc.GetUsersAsync();
bdDetail.Visibility = Visibility.Collapsed;
}

void sc_UpdateUserCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
sc.GetUsersAsync();
bdDetail.Visibility = Visibility.Collapsed;
}
void sc_DeleteUserCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
sc.GetUsersAsync();
}
void sc_GetUsersCompleted(object sender, GetUsersCompletedEventArgs e)
{
List<user> users = new List<user>(e.Result);
myDataGrid.ItemsSource = users;
}

private void myDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
string columnName = string.Empty;
string currentHeader = e.Column.Header.ToString();
switch (currentHeader)
{
case "ID": columnName = "编号"; break;
case "UserName": columnName = "昵称"; break;
case "Age": columnName = "年龄"; break;
case "Special": columnName = "特长"; break;
default: columnName = currentHeader;
break;
}
e.Column.Header = columnName;
if (e.PropertyName == "Url")
{
DataGridTemplateColumn tc = new DataGridTemplateColumn();
tc.Header = "个人主页链接";
tc.CellTemplate = (DataTemplate)Resources["linkCellTemplate"];
e.Column = tc;
}
}

private void myAddBtn_Click(object sender, RoutedEventArgs e)
{
state = State.Add;
userData = new user();
tbUserName.Text = "";
tbAge.Text = "";
tbCompany.Text = "";
tbSpecial.Text = "";
tbUrl.Text = "";
dpDate.Text = "";
bdDetail.Visibility = Visibility.Visible;
}

private void myDataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
user user = (user)e.Row.DataContext;
Button myUpdateBtn = myDataGrid.Columns[0].GetCellContent(e.Row).FindName("myUpdateBtn") as Button;
Button myDeleteBtn = myDataGrid.Columns[0].GetCellContent(e.Row).FindName("myDeletedateBtn") as Button;
myUpdateBtn.Tag = user;
myDeleteBtn.Tag = user.ID.ToString();
}

private void myUpdateBtn_Click(object sender, RoutedEventArgs e)
{
state = State.Update;
Button myBtn = sender as Button;
user tempUser = myBtn.Tag as user;
if (tempUser != null)
{
userData = tempUser;
tbUserName.Text = userData.UserName;
tbCompany.Text = userData.Company;
tbSpecial.Text = userData.Special;
tbCompany.Text = userData.Company;
tbUrl.Text = userData.Url;
tbAge.Text = userData.Age.ToString();
dpDate.Text = userData.CreateTime.ToString();
BitmapImage bitmap = new BitmapImage()
{
UriSource = new Uri(userData.Logo, UriKind.Relative)
};
imgLogo.Source = bitmap;
bdDetail.Visibility = Visibility.Visible;

}

}

private void myDeleteBtn_Click(object sender, RoutedEventArgs e)
{
Button myBtn = sender as Button;
int id = int.Parse(myBtn.Tag.ToString());
if (MainPage.Window.Confirm("确定删除第" + id + "号记录吗?"))
{
sc.DeleteUserAsync(id);
}
}

private void lstLogo_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ComboBoxItem cbi = lstLogo.SelectedItem as ComboBoxItem;
BitmapImage bitmap = cbi.Tag as BitmapImage;
imgLogo.Source = bitmap;
userData.Logo = bitmap.UriSource.OriginalString;
}

private void mySavebtn_Click(object sender, RoutedEventArgs e)
{
userData.UserName = tbUserName.Text;
userData.Age = int.Parse(tbAge.Text);
userData.Special = tbSpecial.Text;
userData.Url = tbUrl.Text;
userData.Company = tbCompany.Text;
userData.CreateTime = DateTime.Parse(dpDate.Text);
if (state == State.Update)
{
sc.DeleteUserAsync(userData);
}
else
{
sc.AddUserAsync(userData);
}
}

private void myClosebtn_Click(object sender, RoutedEventArgs e)
{
bdDetail.Visibility = Visibility.Collapsed;
}
void LoadLogos()
{
for (int i = 1; i < 10; i++)
{
ComboBoxItem cbi = new ComboBoxItem();
BitmapImage bitmap = new BitmapImage();
bitmap.UriSource = new Uri("/Logos/fy" + i + ".jpg", UriKind.Relative);
cbi.Tag = bitmap;
string ct =
"<ControlTemplate xmlns=\"http://schemas.microsoft.com/client/2007\">";
ct += "<StackPanel Orientation=\"Horizontal\"><TextBlock Text=\"fy" + i + ".jpg\"/>";
ct +="<Image Stretch=\"Fill\" width=\"80\" Height=\"80\" Source=\"/Logos/fy"+i;
ct += ".jpg\"></Image></StackPanel></ControlTemplate>";
cbi.Template = XamlReader.Load(ct) as ControlTemplate;
lstLogo.Items.Add(cbi);}}}}
Ray_Ying 2010-02-27
  • 打赏
  • 举报
回复
DGService.svc

namespace SilverlightDBDemo.Web
{
// 注意: 如果更改此处的类名 "DGService",也必须更新 Web.config 中对 "DGService" 的引用。
public class DGService : IDGService
{
public List<user> GetUsers()
{
SampleDCDataContext dc = new SampleDCDataContext();
var query = from p in dc.user
select p;
return query.ToList<user>();
}

public List<user> GetOne(int id)
{
SampleDCDataContext dc = new SampleDCDataContext();
var query = from p in dc.user
where p.ID == id
select p;
return query.ToList<user>();
}

public void AddUser(user user)
{
SampleDCDataContext dc = new SampleDCDataContext();
dc.user.InsertOnSubmit(user);
dc.SubmitChanges();
}

public void UpdateUser(user user)
{
SampleDCDataContext dc = new SampleDCDataContext();
user myuser = (from s in dc.user
where s.ID == user.ID
select s).First();
myuser.UserName = user.UserName;
myuser.Age = user.Age;
myuser.Url = user.Url;
myuser.Special = user.Special;
myuser.CreateTime = user.CreateTime;
myuser.Company = user.Company;
myuser.Logo = user.Logo;
dc.SubmitChanges();
}

public void DeleteUser(int id)
{
SampleDCDataContext dc = new SampleDCDataContext();
var sel = from s in dc.user where s.ID == id select s;
dc.user.DeleteOnSubmit(sel.First());
dc.SubmitChanges();
} }}

8,755

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧