使用 Asmx Web 服务实现 PostSharp
Implementing PostSharp with Asmx Web Service
我目前正在尝试将 postsharp 与我的 asmx 网络服务集成,以记录异常。
这是我的 Aspect 透视图代码:
[Serializable]
public class LogPerformance : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionArgs args)
{
string test = "test";
base.OnEntry(args);
}
public override void OnExit(MethodExecutionArgs args)
{
string test = "test";
base.OnExit(args);
}
public override void OnException(MethodExecutionArgs args)
{
string test = "test";
base.OnException(args);
}
}
在我的 Service.cs class 中,我有以下网络方法:
[WebMethod(EnableSession = true)]
[SoapHeader("authentication")]
[LogPerformance]
public DataTable loginUser(string userName, string password)
{
doStuff();
}
开门见山:
- postsharp 是否支持使用 web 方法实现?就我而言,
每当 web 方法 收到时,都不会调用 postSharp 方法
一击。 (是的,我已经使用 Nuget and/or/plus 添加了 postsharp 参考,也手动添加了它的 dll)This 确实
建议朝着上述主题迈出一步,但我什么也做不了
从它出来。
重要的是要注意,相同的 LogPerformance Class 在与以下项集成时运行平稳:
- 网页API
- ASP.Net 网络应用程序 (MVC)
- 控制台应用程序
问题是当我将它与 .asmx Web 服务一起使用时。向正确的方向稍微推动一下将不胜感激。
PostSharp 支持 *.asmx 网络服务。但是,您需要注意您的 ASP.NET 项目是 网站 还是 Web 应用程序 (ASP.NET Web Site or ASP.NET Web Application?). Only Web Application projects are supported by PostSharp. For more information on compatibility you can also check Requirements and Compatibility。
您可以按照博客 post Converting a Web Site Project to a Web Application Project。转换后,您需要将 PostSharp NuGet 包安装到您的项目中。
我目前正在尝试将 postsharp 与我的 asmx 网络服务集成,以记录异常。
这是我的 Aspect 透视图代码:
[Serializable]
public class LogPerformance : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionArgs args)
{
string test = "test";
base.OnEntry(args);
}
public override void OnExit(MethodExecutionArgs args)
{
string test = "test";
base.OnExit(args);
}
public override void OnException(MethodExecutionArgs args)
{
string test = "test";
base.OnException(args);
}
}
在我的 Service.cs class 中,我有以下网络方法:
[WebMethod(EnableSession = true)]
[SoapHeader("authentication")]
[LogPerformance]
public DataTable loginUser(string userName, string password)
{
doStuff();
}
开门见山:
- postsharp 是否支持使用 web 方法实现?就我而言, 每当 web 方法 收到时,都不会调用 postSharp 方法 一击。 (是的,我已经使用 Nuget and/or/plus 添加了 postsharp 参考,也手动添加了它的 dll)This 确实 建议朝着上述主题迈出一步,但我什么也做不了 从它出来。
重要的是要注意,相同的 LogPerformance Class 在与以下项集成时运行平稳:
- 网页API
- ASP.Net 网络应用程序 (MVC)
- 控制台应用程序
问题是当我将它与 .asmx Web 服务一起使用时。向正确的方向稍微推动一下将不胜感激。
PostSharp 支持 *.asmx 网络服务。但是,您需要注意您的 ASP.NET 项目是 网站 还是 Web 应用程序 (ASP.NET Web Site or ASP.NET Web Application?). Only Web Application projects are supported by PostSharp. For more information on compatibility you can also check Requirements and Compatibility。
您可以按照博客 post Converting a Web Site Project to a Web Application Project。转换后,您需要将 PostSharp NuGet 包安装到您的项目中。