c#-在单独的程序集中带有模型的ASP.NET MVC
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-在单独的程序集中带有模型的ASP.NET MVC,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1828字,纯文字阅读大概需要3分钟。
内容图文
![c#-在单独的程序集中带有模型的ASP.NET MVC](/upload/InfoBanner/zyjiaocheng/671/67abe247686d4540a17db2b6ac6d555a.jpg)
我目前有一个正在开发的.NET解决方案,涉及多个子项目,包括ASP.NET MVC项目.我的模型已分离到一个单独的程序集中,因为我需要在解决方案中的其他各个项目中使用它.
我的模型由ADO.NET实体框架实体模型组成.我决定为模型使用单例模式,并使用以下代码(SalsaEntities是我的实体模型的名称):
partial class SalsaEntities
{
private static SalsaEntities _instance = new SalsaEntities();
/// <summary>
/// Singleton instance of SalsaEntities.
/// </summary>
public static SalsaEntities Instance
{
get
{
return _instance;
}
}
}
然后,我从其他程序集中使用SalsaEntities.Instance.尽管我必须在该项目的App.Config文件中包括连接字符串,但在我拥有的第三个项目Windows服务中,该方法仍然可以正常工作.
但是,当我尝试从ASP.NET MVC项目中使用SalsaEntities.Instance时,出现了异常.尽管在项目的根目录和Views目录的Web.config文件中都包含以下内容…
<connectionStrings>
<add name="SalsaEntities" connectionString="metadata=res://*/SalsaModel.csdl|res://*/SalsaModel.ssdl|res://*/SalsaModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=localhost;Initial Catalog=DbSalsa;Integrated Security=True;Pooling=False;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
…我仍然抛出以下异常:
The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.
程序集都有不同的名称空间,但是由于Windows Service可以很好地访问它,所以我认为这不是问题.
救命?
谢谢,
大卫
附注:我注意到的另一个怪癖是,当告诉Visual Studio创建一个新的强类型视图时,它会生成关于模型装配的文件未找到错误.我已经看到此错误在网络上讨论了几次,都没有解决方法.
解决方法:
我不确定这是怎么回事,但Misha N提出了一个很好的问题.
但是我真的认为您应该重新考虑Singleton模式(至少对于MVC应用程序而言).
超时,您的ObjectContext将包含越来越多的对象,结果将放慢速度.有关原因的更多信息,请参见this tip.
亚历克斯
内容总结
以上是互联网集市为您收集整理的c#-在单独的程序集中带有模型的ASP.NET MVC全部内容,希望文章能够帮你解决c#-在单独的程序集中带有模型的ASP.NET MVC所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。