Windows phone 7 WP7-具有scheduletaskproject的理想项目结构

Windows phone 7 WP7-具有scheduletaskproject的理想项目结构,windows-phone-7,background,projects-and-solutions,Windows Phone 7,Background,Projects And Solutions,对于我的WP7应用程序,我目前有一个主应用程序项目,称之为“MainProj”,另一个项目是类库项目,我在其中定义了我的数据库(它是一个Sterling DB)。让我们称这个项目为“DBProject” “MainProj”中包括我的视图、视图模型和从数据库检索数据的数据服务。“MainProj”包括对“DBProj”的引用 我现在包含了一个PeriodicTask,因此添加了第三个项目--“scheduletaskproject”。我的“MainProj”引用了这个项目,并包括启动定期任务及其

对于我的WP7应用程序,我目前有一个主应用程序项目,称之为“MainProj”,另一个项目是类库项目,我在其中定义了我的数据库(它是一个Sterling DB)。让我们称这个项目为“DBProject”

“MainProj”中包括我的视图、视图模型和从数据库检索数据的数据服务。“MainProj”包括对“DBProj”的引用

我现在包含了一个PeriodicTask,因此添加了第三个项目--“scheduletaskproject”。我的“MainProj”引用了这个项目,并包括启动定期任务及其所有工作状态

我现在要扩展我的PeriodTask代码,我想访问数据库等的代码都在我的“MainProj”中。我不能将其添加为引用,因为这将创建一个循环引用。似乎我将不得不重构大量代码,以使包括dataservice在内的两个应用程序都可以访问它。我甚至可能使用我的一个viewmodels,但怀疑这可能不是正确的做法

因此,我只是想知道应该采取什么样的正确方法,因为我显然必须重构一些代码。根据之前一个查询中的评论,如果我访问数据库,周期性任务中似乎有5MB的内存限制,这可能会很糟糕。在重构代码方面有什么技术可以帮助我

  • 谢谢

您应该将ScheduledTask将引用的所有代码移动到单独的程序集。这不仅是因为内存限制,还因为ScheduledTask程序集无法引用任何使用任务中不支持的API的代码.

好的-谢谢。我第一次尝试这样做的结果是有点混乱-无法生成并且缺少DLL。错误加载。如果我创建另一个项目,那么我可以将文件夹从现有项目拖到新项目上。如果只对文件进行c&p,则命名空间不太可能反映程序集(与其说是迫在眉睫的问题,不如说是可维护性问题).好的,当然-我可以在工作后进行更改。一个项目通常只包含一个名称空间吗?这是一种常见的方法吗?进一步研究后,我不知道tehb Background任务中有5MB内存限制,我怀疑如果没有b,我可能很难打开和访问数据库来更新我的live tile突破此限制。命名空间反映程序集名称是正常的。例如
。Data
既是程序集名称又是命名空间。您可能会有类似的内容:
。Data
。App
。Common
。TaskAgent
。您必须测试Sterling DB是否足够快,可以在实时互动程序中使用.只要不将整个数据库加载到内存中,我就不会认为这是个问题。