私のコードは1か月以上機能し、アプリはrssフィード(http://www.whitehouse.gov/feed/blog/white-house)を解析し、ニュースをdbに挿入します。
今日、アプリがこのニュース「2013年の一般教書演説のファーストレディの箱」をdbに追加しようとしたときに例外が発生しました。これが私のコードです:
News item = Query.instance().AddNews(channel.Guid, channel.Description, channel.Link, channel.PublishDate, channel.Title);
public News AddNews(string guid, string description, string link, DateTime publishDate, string title)
{
// create a new and add it to the context
News item = new News { Guid = guid, Description = description, Link = link, PublishDate = publishDate, Title = title };
// add the new to the context
db.NewsItems.InsertOnSubmit(item);
// save changes to the database
db.SubmitChanges();
return item;
}
私はデバッグを行いました、そして問題はニュースの説明にあります(それは長さのようです)、ここに例外があります:
「タイプ'System.InvalidOperationException'の例外がMicrosoft.Phone.Data.Internal.ni.dllで発生し、管理対象/ネイティブ境界の前で処理されませんでしたタイプ'System.InvalidOperationException'の最初のチャンスの例外がSystem.Dataで発生しました.Linq.ni.dll "
これはdbへの列の説明です
private string _description;
[Column]
public string Description
{
get
{
return _description;
}
set
{
if (_description != value)
{
NotifyPropertyChanging("Description");
_description = value;
// Remove HTML tags.
_description = Regex.Replace(_description, "<[^>]+>", string.Empty);
// Remove newline characters
_description = _description.Replace("\r", "").Replace("\n", "");
// Remove encoded HTML characters
_description = HttpUtility.HtmlDecode(_description);
//replace spaces
_description = _description.Replace(" ", "");
//if (!string.IsNullOrEmpty(_description) && _description.Length > 3900)
// _description = _description.Substring(0, 3900);
NotifyPropertyChanged("Description");
}
}
}
これをコメント解除すると、機能します。
//if (!string.IsNullOrEmpty(_description) && _description.Length > 3900)
// _description = _description.Substring(0, 3900);