Fragensteller
Silverlight WCF Service Not Found

Allgemeine Diskussion
-
Hallo zusammen
Wie der Titel schon sagt hab ich ein Problem mit einem WCF Service.
Ich habe eine Methode in meinem Service, an welche ich ein Klasse des Webprojektes als Parameter übergebe.
Wenn ich als Parameter das gespeicherte Objekt der Klasse übergebe bekomme ich folgende Fehlermeldung: Der Remoteserver hat einen Fehler zurückgegeben: NotFound.
System.ServiceModel.CommunicationException was unhandled by user code
Message=Der Remoteserver hat einen Fehler zurückgegeben: NotFound.
StackTrace:
bei System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
bei System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
bei System.ServiceModel.ClientBase`1.ChannelBase`1.EndInvoke(String methodName, Object[] args, IAsyncResult result)
bei ROMDKP.UserServiceReference.UserDataServiceClient.UserDataServiceClientChannel.EndEditUserData(IAsyncResult result)
bei ROMDKP.UserServiceReference.UserDataServiceClient.ROMDKP.UserServiceReference.UserDataService.EndEditUserData(IAsyncResult result)
bei ROMDKP.UserServiceReference.UserDataServiceClient.OnEndEditUserData(IAsyncResult result)
bei System.ServiceModel.ClientBase`1.OnAsyncCallCompleted(IAsyncResult result)
InnerException: System.Net.WebException
Message=Der Remoteserver hat einen Fehler zurückgegeben: NotFound.
StackTrace:
bei System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
bei System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
bei System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)
InnerException: System.Net.WebException
Message=Der Remoteserver hat einen Fehler zurückgegeben: NotFound.
StackTrace:
bei System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
bei System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
bei System.Net.Browser.AsyncHelper.<>c__DisplayClass2.<BeginOnUI>b__0(Object sendState)
InnerException:
Wenn ich aber als Parameter ein neues Objekt übergebe bekomme ich keine Fehlermeledung.
C#-Code:
UserDataServiceClient client = new UserDataServiceClient();
client.EditUserDataCompleted += new EventHandler<EditUserDataCompletedEventArgs>(client_EditUserDataCompleted);
client.EditUserDataAsync(UserSession.CurrentUser);//Gibt keine Fehlermeldung
//client.EditUserDataAsync(new UserData());
C#-Code:
[OperationContract]
public bool EditUserData(UserData user)
{
return true ;
}
Ich hoffe es kann mir jemand weiterhelfen.
Gruss
MusiuminCapitiss- Typ geändert Robert Breitenhofer Mittwoch, 2. Februar 2011 17:13 Keine Rückmeldung des Fragenstellender
Sonntag, 9. Januar 2011 14:36
Alle Antworten
-
Das hier ist die Klasse:
(Darunter sind noch die Klassen von welchen es in UserData ein objekt hat)
using System; using System.ComponentModel; using System.Runtime.Serialization; using System.Collections.ObjectModel; namespace RunesOfMagicDKP.Web.Models.Shared { /// <summary> /// Daten eines Benutzers /// </summary> [DataContract] public class UserData : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; #region Fields private string _userName = string.Empty; //Guid? private Guid _userID; private string _email = string.Empty; private string _passwordQuestion = string.Empty; private string _passwordAnswer = string.Empty; private string _comment = string.Empty; private bool _isApproved = false; private bool _isLockedOut = false; //DateTime? private DateTime _lastPasswordChangeDate; private DateTime _createDate; private DateTime _lastLoginDate; private DateTime _lastActivityDate; //Daten Klassen - DKP private DKPProfilData _profilData = new DKPProfilData(); private DKPCharakterData _charakterData = new DKPCharakterData(); #endregion #region Properties /// <summary> /// DataSource: DKP_SYS_DB playerData /// </summary> [DataMember] public DKPCharakterData CharackterData { get { return _charakterData; } set { _charakterData = value; Changed("CharakterData"); } } /// <summary> /// DataSource: DKP_SYS_DB playerData /// </summary> [DataMember] public DKPProfilData PlayerProfil { get { return _profilData; } set { _profilData = value; Changed("PlayerProfil"); } } /// <summary> /// DataSource: aspnet_Membership /// </summary> [DataMember] public DateTime LastPasswordChangeDate { get { return _lastPasswordChangeDate; } set { _lastPasswordChangeDate = value; Changed("LastPasswordChangeDate"); } } /// <summary> /// DataSource: aspnet_Membership /// </summary> [DataMember] public DateTime CreateDate { get { return _createDate; } set { _createDate = value; Changed("CreateDate"); } } /// <summary> /// DataSource: aspnet_Membership /// </summary> [DataMember] public DateTime LastLoginDate { get { return _lastLoginDate; } set { _lastLoginDate = value; Changed("LastLoginDate"); } } /// <summary> /// DataSource: aspnet_Users /// </summary> [DataMember] public DateTime LastActivityDate { get { return _lastActivityDate; } set { _lastActivityDate = value; Changed("LastActivityDate"); } } /// <summary> /// DataSource: aspnet_Membership /// </summary> [DataMember] public bool IsLockedOut { get { return _isLockedOut; } set { _isLockedOut = value; Changed("IsLockedOut"); } } /// <summary> /// DataSource: aspnet_Membership /// </summary> [DataMember] public bool IsApproved { get { return _isApproved; } set { _isApproved = value; Changed("IsApproved"); } } /// <summary> /// DataSource: aspnet_Membership /// </summary> [DataMember] public string Comment { get { return _comment; } set { _comment = value; Changed("Comment"); } } /// <summary> /// DataSource: aspnet_Membership /// </summary> [DataMember] public string PasswordAnswer { get { return _passwordAnswer; } set { _passwordAnswer = value; Changed("PasswordAnswer"); } } /// <summary> /// DataSource: aspnet_Membership /// </summary> [DataMember] public string PasswordQuestion { get { return _passwordQuestion; } set { _passwordQuestion = value; Changed("PasswordQuestion"); } } /// <summary> /// DataSource: aspnet_Membership /// </summary> [DataMember] public string Email { get { return _email; } set { _email = value; Changed("Email"); } } /// <summary> /// DataSource: aspnetdb_Users /// </summary> [DataMember] public Guid UserID { get { return _userID; } set { _userID = value; Changed("UserID"); } } /// <summary> /// DataSource: aspnetdb_Users /// </summary> [DataMember] public string UserName { get { return _userName; } set { _userName = value; Changed("UserName"); } } #endregion /// <summary> /// PropertyChanged - DP Updaten /// </summary> /// <param name="propertyName"></param> private void Changed(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } } }
using System; using System.ComponentModel; using System.Runtime.Serialization; namespace RunesOfMagicDKP.Web.Models.Shared { [DataContract] public class DKPProfilData : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; #region Fields //byte[]? private byte[] _image; private string _profilText = string.Empty; private string _titel = string.Empty; private string _realName = string.Empty; private string _realPrename = string.Empty; long _pk = 0; #endregion #region Properties /// <summary> /// DataSource: DKP_SYS_DB playerProfil /// </summary> [DataMember] public long PK { get { return _pk; } set { _pk = value; Changed("PK"); } } /// <summary> /// DataSource: DKP_SYS_DB playerProfil /// </summary> [DataMember] public string RealPrename { get { return _realPrename; } set { _realPrename = value; Changed("RealPrename"); } } /// <summary> /// DataSource: DKP_SYS_DB playerProfil /// </summary> [DataMember] public string RealName { get { return _realName; } set { _realName = value; Changed("RealName"); } } /// <summary> /// DataSource: DKP_SYS_DB playerProfil /// </summary> [DataMember] public string Titel { get { return _titel; } set { _titel = value; Changed("Titel"); } } /// <summary> /// DataSource: DKP_SYS_DB playerProfil /// </summary> [DataMember] public string ProfileText { get { return _profilText; } set { _profilText = value; Changed("ProfilText"); } } /// <summary> /// DataSource: DKP_SYS_DB playerProfil /// </summary> [DataMember] public byte[] Image { get { return _image; } set { //Bild überprüfen if (value == null) { return; } if (value.Length / 1024 > 500) { throw new Exception("The maximum size for the image is 500 kb." + Environment.NewLine + "The size of your image is " + (value.Length / 1024).ToString() + " kb"); } _image = value; Changed("Image"); } } #endregion /// <summary> /// PropertyChanged - DP Updaten /// </summary> /// <param name="propertyName"></param> private void Changed(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } } }
using System.ComponentModel; using System.Runtime.Serialization; using System; namespace RunesOfMagicDKP.Web.Models.Shared { [DataContract] public class DKPJob : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; #region Fields private string _job = string.Empty; private int _level = 0; private long _fk_job = 0; #endregion #region Properties /// <summary> /// DataSource: DKP_SYS_DB playerJob /// </summary> [DataMember] public long Fk_Job { get { return _fk_job; } set { _fk_job = value; Changed("Fk_job"); } } /// <summary> /// DataSource: DKP_SYS_DB playerJob /// </summary> [DataMember] public int Level { get { return _level; } set { _level = value; Changed("Level"); } } /// <summary> /// DataSource: DKP_SYS_DB Job /// </summary> [DataMember] public string Job { get { return _job; } set { _job = value; Changed("Job"); } } #endregion /// <summary> /// PropertyChanged - DP Updaten /// </summary> /// <param name="propertyName"></param> private void Changed(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } } }
using System.ComponentModel; using System.Runtime.Serialization; using System.Collections.ObjectModel; using System; namespace RunesOfMagicDKP.Web.Models.Shared { [DataContract] public class DKPCharakterData : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; #region Fields private string _class1 = string.Empty; private string _class2 = string.Empty; private int _level1 = 0; private int _level2 = 0; private long _fk_attribute = 0; private int _intelligence = 0; private int _skill = 0; private int _endurance = 0; private int _wisdom = 0; private int _strong = 0; private int _lifePoints = 0; private int _manaPoints = 0; private int _physicallyDefense = 0; private int _magicDefense = 0; private int _physicallyAttack = 0; private int _magicAttack = 0; private ObservableCollection<DKPJob> _jobs = new ObservableCollection<DKPJob>(); #endregion #region Properties /// <summary> /// DataSource: DKP_SYS_DB playerJob, job /// </summary> [DataMember] public ObservableCollection<DKPJob> Jobs { get { return _jobs; } set { _jobs = value; Changed("Jobs"); } } /// <summary> /// DataSource: DKP_SYS_DB attribute /// </summary> [DataMember] public int MagicAttack { get { return _magicAttack; } set { _magicAttack = value; Changed("MagicAttack"); } } /// <summary> /// DataSource: DKP_SYS_DB attribute /// </summary> [DataMember] public int PhysicallyAttack { get { return _physicallyAttack; } set { _physicallyAttack = value; Changed("PhysicallyAttack"); } } /// <summary> /// DataSource: DKP_SYS_DB attribute /// </summary> [DataMember] public int MagicDefense { get { return _magicDefense; } set { _magicDefense = value; Changed("MagicDefense"); } } /// <summary> /// DataSource: DKP_SYS_DB attribute /// </summary> [DataMember] public int PhysicallyDefense { get { return _physicallyDefense; } set { _physicallyDefense = value; Changed("PhysicallyDefense"); } } /// <summary> /// DataSource: DKP_SYS_DB attribute /// </summary> [DataMember] public int ManaPoints { get { return _manaPoints; } set { _manaPoints = value; Changed("ManaPoints"); } } /// <summary> /// DataSource: DKP_SYS_DB attribute /// </summary> [DataMember] public int LifePoints { get { return _lifePoints; } set { _lifePoints = value; Changed("LifePoints"); } } /// <summary> /// DataSource: DKP_SYS_DB attribute /// </summary> [DataMember] public int Strong { get { return _strong; } set { _strong = value; Changed("Strong"); } } /// <summary> /// DataSource: DKP_SYS_DB attribute /// </summary> [DataMember] public int Wisdom { get { return _wisdom; } set { _wisdom = value; Changed("Wisdom"); } } /// <summary> /// DataSource: DKP_SYS_DB attribute /// </summary> [DataMember] public int Endurance { get { return _endurance; } set { _endurance = value; Changed("Endurance"); } } /// <summary> /// DataSource: DKP_SYS_DB attribute /// </summary> [DataMember] public int Skill { get { return _skill; } set { _skill = value; Changed("Skill"); } } /// <summary> /// DataSource: DKP_SYS_DB attribute /// </summary> [DataMember] public int Intelligence { get { return _intelligence; } set { _intelligence = value; Changed("Intelligence"); } } /// <summary> /// DataSource: DKP_SYS_DB playerProfil /// </summary> [DataMember] public long Fk_Attribute { get { return _fk_attribute;} set { _fk_attribute = value; Changed("Fk_Attribute"); } } /// <summary> /// DataSource: DKP_SYS_DB playerProfil /// </summary> [DataMember] public int Level2 { get { return _level2; } set { _level2 = value; Changed("Level2"); } } /// <summary> /// DataSource: DKP_SYS_DB playerProfil /// </summary> [DataMember] public int Level1 { get { return _level1; } set { _level1 = value; Changed("Level1"); } } /// <summary> /// DataSource: DKP_SYS_DB playerProfil /// </summary> [DataMember] public string Class2 { get { return _class2; } set { _class2 = value; Changed("Class2"); } } /// <summary> /// DataSource: DKP_SYS_DB playerProfil /// </summary> [DataMember] public string Class1 { get { return _class1;} set { _class1 = value; Changed("Class1"); } } #endregion /// <summary> /// PropertyChanged - DP Updaten /// </summary> /// <param name="propertyName"></param> private void Changed(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } } }
Montag, 10. Januar 2011 14:35 -
Hast du mal geschaut, ob alle eingebeteten Klassen instanziert wurden. Standardmäßig werden die private Fields nicht übertragen, sodass sie bei Klassen null sind.
Zusätzlich kannt du dir dies hier nochmal anschauen, um die genaue Fehlermeldung an Silverlight zu übertragen:
http://msdn.microsoft.com/en-us/library/dd470096(VS.95).aspxMontag, 10. Januar 2011 15:09Beantworter