我有一些在asmx Web服务中的Web方法,目前看起来像这样:
[WebMethod(false, System.EnterpriseServices.TransactionOption.NotSupported)]
[ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
public XElement GetSomeData(int dataId)
{
// Do something.
}
我想要实现以下类似的功能:
[WebMethod(false, System.EnterpriseServices.TransactionOption.NotSupported)]
[ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
[EnableSomeCustomSecurityCheck(true)]
public XElement GetSomeData(int dataId)
{
// Do something.
}
在这里,“EnableSomeCustomSecurityCheck”告诉程序需要验证一个额外的令牌参数。我希望避免将这段代码复制到每个需要它的方法中:
[WebMethod(false, System.EnterpriseServices.TransactionOption.NotSupported)]
[ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
public XElement GetSomeData(int dataId, string securityToken)
{
SomeClass.CheckSecurityToken(securityToken);
// Do something.
}
我有些不知道从哪里开始。有人能指点我如何在不失去asmx处理程序已有功能的情况下添加此功能吗?