gpt4 book ai didi

c# - 跨 MVC Web 应用程序集中公共(public)代码的最佳方法?

转载 作者:太空宇宙 更新时间:2023-11-03 20:02:11 26 4
gpt4 key购买 nike

我正在使用 ASP.NET MVC 5 重写一个经典的 ASP Web 应用程序。

目前包含文件中包含许多通用代码,我需要在我的新应用程序中复制这些代码。

我做了很多研究,相信静态方法是可行的方法。

我计划对仅使用本地数据或输入参数(对象除外)的实用程序使用静态方法

我计划为需要实例化其他对象等的实用程序使用实例方法。

我的问题是:

IIS 设置为 InProc 时,静态方法是自包含的还是会被其他用户无意中交叉引用?

此应用程序将安装在单个服务器上,没有网络场或服务器集合等。

我也看到了提到的扩展方法,但微软建议谨慎使用这些方法。最后,除了静态方法之外,是否有更好的方法来替换包含文件中的公共(public)代码?

感谢阅读。

最佳答案

抛开架构争论(在经典的 ASP 中,实用程序中数据访问的困惑是常见的地方 - 我认为你不想复制那个 MVC,更好的是设计一些漂亮的层并抽象所有数据处理到你的模型中)。

要回答您的主要问题,是的,只要您不访问全局变量,静态方法就是自包含的。即

public static string somestring = "xyz";
public static void DoSomething()
{
somestring = "something else";

}

在多用户环境中真的很糟糕,而且会崩溃。

要回答您的最后一个问题,请参阅我的第一段。最好的方法是将模型(数据访问和所有)开发成域模型,数据访问层是其中的一个抽象。至少将数据访问方法重构为某种形式的数据访问层,将其封装在一组接口(interface)之后——即使您现在没有时间/资源以更好的方式重写数据访问,您也可以至少在沙子上画了一条线来编程。这样你就可以阻止旧的困惑进入你可爱的新代码。

关于c# - 跨 MVC Web 应用程序集中公共(public)代码的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26740364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com