У меня есть служба данных WCF, и я пытаюсь использовать метод UpdateObject на клиенте DataServiceContext. Когда я вызываю метод SaveChanges, я получаю следующую страницу ошибки:
Несанкционировано: доступ запрещен из-за неверных учетных данных
У вас нет прав для просмотра этого каталога или страницы с использованием предоставленных вами учетных данных.
У кого-нибудь есть идеи, как я могу это исправить? Я нашел this , который теоретически решил бы проблему, но установка этого доступа к диску не является реалистичным решением для производственной службы. Имейте в виду, что при запуске этой службы WCF Data на моей локальной машине она работает просто отлично. Код C # для моего звонка ниже:
public override void SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection collection)
{
var userName = ( string ) context[ "UserName" ];
var isAuthenticated = ( bool ) context[ "IsAuthenticated" ];
if (userName != null && userName.Length >= 1 && collection.Count >= 1)
{
var allNames = string.Empty;
var allValues = string.Empty;
byte[] buf = null;
PrepareDataForSaving( ref allNames, ref allValues, ref buf, true, collection, isAuthenticated );
if (allNames.Length != 0)
{
var client = GetDataContext( );
var profile = client.ProfileViews.Where(p => p.UserName == userName).FirstOrDefault();
if (profile == null)
{
profile = new ProfileView() { UserName = userName };
client.AddToProfileViews(profile);
}
profile.PropertyNames = allNames;
profile.PropertyValuesString = allValues;
profile.PropertyValuesBinary = buf;
profile.LastUpdateDate = DateTime.UtcNow;
client.UpdateObject(profile);
client.SaveChanges( );
}
}
}