将asmx与CodeBehind混合使用

时间:2011-12-06 16:44:46

标签: c# asp.net web-services

我希望在asmx文件中包含版本信息(而不是web.config),以便我可以编辑版本号而无需重新编译。有没有一个干净的方法来实现这一目标?我确实提出了一种方法,但它非常可怕:

WS.asmx:

<%@ WebService Language="C#" CodeBehind="SiteWS.asmx.cs" Class="SiteWS" %>

WS.asmx.cs

public class SiteWS : System.Web.Services.WebService
{
    public static string WSVersion = "1.0";
}

新WS.asmx:

<%@ WebService Language="C#" CodeBehind="SiteWS.asmx.cs" Class="SiteWS2" %>    
public class SiteWS2 : SiteWS
{
    static SiteWS2()
    {
        SiteWS.WSVersion = "1.0";
    }
}

新WS.asmx.cs

public class SiteWS : System.Web.Services.WebService
{
    public static string WSVersion = null;
}

1 个答案:

答案 0 :(得分:0)

它的概念非常有趣。

是的,如果我们将版本信息放在 web.config 中,只要我们触摸 web.config ,就会重新编译。

我认为,我们应该以两种方式处理版本信息: -

  1. web.config
  2. 中的主要内容
  3. 覆盖 web.config ,应该在 .asmx 文件
  4. 因此,根据需求,我们可以考虑在哪里设置版本信息。