C# ASP.net和WCF关于“的一些澄清”;压倒一切;
最近我遇到了一些面试问题。面试官要求面试官给出详细的答案 1) 我们是否可以覆盖WCF服务(它不是OOPS覆盖)?请在两端解释原因。(与WCF相关) 2) 我们可以覆盖页面事件(Page_Load())吗?解释原因。(与ASP.NET相关) 3) 除了用户偏好之外,Pre_Init(page)事件的主要职责是什么 设置,剥皮 4) 我们能覆盖静态方法吗?解释原因。(C#related) 有人能帮我理解原因吗C# ASP.net和WCF关于“的一些澄清”;压倒一切;,c#,asp.net,wcf,C#,Asp.net,Wcf,最近我遇到了一些面试问题。面试官要求面试官给出详细的答案 1) 我们是否可以覆盖WCF服务(它不是OOPS覆盖)?请在两端解释原因。(与WCF相关) 2) 我们可以覆盖页面事件(Page_Load())吗?解释原因。(与ASP.NET相关) 3) 除了用户偏好之外,Pre_Init(page)事件的主要职责是什么 设置,剥皮 4) 我们能覆盖静态方法吗?解释原因。(C#related) 有人能帮我理解原因吗 您无法真正覆盖WCF服务操作。如果您的服务契约类有两个名称相同但参数不同的服务操作方法(
invalidoOperationException
。如果确实要执行此操作,可以在OperationContract
属性中更改其中一个方法的公开操作名称:
[OperationContract(Name = "GetDataWithString")]
public string GetData(string input)
{
...
}
[OperationContract(Name = "GetDataWithNumber")]
public string GetData(int input)
{
...
}
页面
类中的方法,也可以以ASP.Net知道它们将被视为重写的方式命名方法。例如,使用下面的签名在页面的代码隐藏中声明一个方法将自动覆盖page_Init方法
void Page_Init(object sender, EventArgs e)
Page\u Init
方法是ASP.Net开始跟踪ViewState的地方。这意味着对任何页面控件所做的任何操作现在都会在ViewStateStateBag
中标记为脏,因此将进行base-64编码,并在ViewState隐藏输入字段中向下发送到客户端,从而在回发时发送回服务器。在跟踪ViewState之前更改控件的值将有助于阻止ViewState变得过大。有关更多详细信息,请参阅virtual
,因为创建的编译器附加到类实例。静态类成员不是附加到实例,而是附加到类本身,因此无法重写它们。更详细地解释了这一点,并给出了一些解决方法