我希望將版本信息包含在asmx文件(而不是web.config)中,這樣我就可以編輯版本號而無需重新編譯。有沒有一種乾淨的方式來實現這一點?我想出了一個辦法做到這一點,但它是相當可怕的:與CodeBehind混合使用asmx
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;
}
你爲什麼要這麼做? – ChrisBint
@ChrisBint:該數字對應於exe的版本號。如果發佈了新的exe文件,那麼只需編輯一個asmx文件並上傳一個exe文件,而不是在處理代碼時執行重新編譯就可以了。當然,也可以擱置當前的工作,並從版本控制中重新編譯上一個版本,但這更簡單。做不必要的全面鋪開是需要避免的。 – Brian
對不起,澄清,我的意思是你爲什麼不把它存儲在web.config中。當web.config完全適合存儲像這樣的「配置」信息時,看起來有點像黑客攻擊。 – ChrisBint