2013-06-27 45 views
3

我有我的ASP.NET MVC 3网站 - 管理(内联网网站)和客户端(互联网网站)2个独立的区域。如何在不同的MVC网站之间共享模型?

模型(业务和数据访问层)将由两个网站使用。这些网站将托管在单独的服务器上。所以,该文件夹将不会被共享。 因此,我打算创建模型的DLL,并将DLL放在两个网站的Bin文件夹中并使用它。

我希望这会保持我的UI整洁,代码少。

现在,我的疑惑是:

  1. 我需要创建一个类库项目创建模型的DLL或者我需要使用和MVC Web应用程序项目创建DLL?
  2. 我应该在哪里放置web配置?希望我需要在模型和用户界面?

回答

2

是的,你的抽象业务逻辑应该在一个单独的类库项目中。然后,您可以在同一解决方案中从Web应用程序引用此项目,或者编译它并将其作为DLL引用。您的web.config文件仍将存在于您的Web项目中。

要为您的类库添加设置在你的web项目,使用配置部分:

<configSections> 
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
     <section name="My.Class.Library.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    </sectionGroup> 
</configSections> 
<applicationSettings> 
    <My.Class.Library.Properties.Settings> 
     <setting name="SettingName" serializeAs="String"> 
      <value>SettingValue</value> 
     </setting> 
    </My.Class.Library.Properties.Settings> 
</applicationSettings> 
+0

在UI的Web配置中,我应该做些什么改变来从DLL中获取数据而不是实体。目前我的连接字符串看起来像这样 - user2215116

+0

@ user2215116据我所知,您的类库应该默认使用web.config文件中的相关连接字符串 –

+0

所以,你的意思是我应该在UI中拥有上面的连接字符串,然后每次将它传递给业务逻辑层,然后通过DLL传递给数据访问层当我想访问数据库(对于每个入口/选择函数)? – user2215116

3

我需要创建一个类库项目创建的模型

的DLL是的,2个web应用程序之间共享一个单独的类库是最好的办法。

我需要使用和MVC Web应用程序项目来创建DLL(寻找最佳方法)吗?

不,ASP.NET MVC只能包含视图。不要在其他应用程序中引用和重用Web应用程序以实现公共逻辑。

我应该在哪里放置web配置?

每个ASP.NET MVC Web应用程序都应该有它自己的web.config。

+0

嗨达林,希望我需要使用一个app.config类库中把类库中的连接字符串项目。在UI中添加对DLL的引用后,希望我可以从UI中删除Model文件夹;那么我将只有用户界面中的视图和模型文件夹。我应该在哪里放置我的视图模型 - 它是在类库中并引用它? – user2215116

+0

在类库中没有App.config这样的概念。配置文件应该只存在于你部署的应用程序中,对于你的情况,这是一个ASP.NET应用程序,所以你应该使用web.config –

相关问题