C# ASP.net MVC 4 web应用程序与web服务共享其代码

C# ASP.net MVC 4 web应用程序与web服务共享其代码,c#,asp.net-mvc,web-services,C#,Asp.net Mvc,Web Services,我已经编写了一个MVC web应用程序,用于我们公司的内部网。我们还有一个MVC网站,它是一个独立的web应用程序,供我们的客户使用。为了使我们的网站能够与我们的内部网系统数据库通信,我编写了一个c#web服务来访问它 我现在遇到的问题是,在intranet应用程序中,我有一个复杂的例程,它执行一些计算,我现在需要在web服务中为网站执行相同的操作。出于明显的原因,我不想复制逻辑并在两个位置重复它,因此我需要web服务和web应用程序共享相同的代码库。我知道这是可能的,但最好是使用存储在web配

我已经编写了一个MVC web应用程序,用于我们公司的内部网。我们还有一个MVC网站,它是一个独立的web应用程序,供我们的客户使用。为了使我们的网站能够与我们的内部网系统数据库通信,我编写了一个c#web服务来访问它

我现在遇到的问题是,在intranet应用程序中,我有一个复杂的例程,它执行一些计算,我现在需要在web服务中为网站执行相同的操作。出于明显的原因,我不想复制逻辑并在两个位置重复它,因此我需要web服务和web应用程序共享相同的代码库。我知道这是可能的,但最好是使用存储在web配置文件中的应用程序变量。例如,如果我将代码从intranet应用程序中移到类库中,我将失去访问webconfig文件的功能,那么我应该将这些变量放在哪里

有没有关于最好的方法的建议

我将失去访问网络配置的功能 文件,那么我把这些变量放在哪里呢


你不会失去那种能力的。应用程序的每个部分都可以访问配置文件,例如使用
ConfigurationManager.AppSettings
属性。

将共享代码放在从网站和web服务引用的类库中。

为什么不使用数据库进行配置?当然,真正的问题是应用程序的深层部分是否应该与配置文件交互:-)我将代码移动到自己的类库中,取出所有应用程序设置,并将它们放在数据库设置表中。唯一的设置在web配置文件中,是数据库连接字符串,这决定了要使用哪些设置。我现在看到的唯一问题是,在我的类库中,我引用xml文件来加载数据。现在取决于这是web服务代码还是intranet应用程序代码取决于xml文件是否存在。那么,这些文件是否也应该移到类库中,而不是在web中applicatio@DarrenMitchinson,我建议您在每个站点的web.config中放置一个配置设置,其中包含xml文件的位置。如果文件不存在,可能将其留空。您的类库可以测试此设置以决定要执行的操作。