在本节中,将学习如何编写以 RemoteReportProxy 实例为参数的 AddFirewallProxySettings() 方法的代码。还将学习如何将 Web 代理设置添加到 RemoteReportProxy 实例。
AddFirewallProxySettings() 方法是从 GetReportWebServiceWithAuthentication() 方法中调用的。
此方法仅在您需要通过防火墙代理访问报表 Web 服务时才运行。
- 在类的底部,创建返回 RemoteReportProxy 类的 AddFirewallProxySettings() 专用帮助器方法,并传入一个布尔值变量、一个字符串变量以及 RemoteReportProxy 实例。
``` vb
Private Function AddFirewallProxySettings(ByVal isFirewallProxy As
Boolean, ByVal webProxyURI As String, ByVal remoteReportProxy As
RemoteReportProxy) As RemoteReportProxy
End Function
```
``` csharp
private RemoteReportProxy AddFirewallProxySettings(bool
isFirewallProxy, string webProxyURI, RemoteReportProxy
remoteReportProxy)
{
}
```
在该方法内,创建一个测试 isFirewallProxyBoolean 变量的条件块。
If isFirewallProxy Then End Ifif(isFirewallProxy) { }在该条件块内,声明并实例化 WebProxy 类,并将 webProxyURI 字符串和一个 TrueBoolean 值传递给该类。
Dim myWebProxy As WebProxy = New WebProxy(webProxyURI, True)WebProxy webProxy = new WebProxy(webProxyURI, true);将 WebProxy 实例赋给 RemoteReportProxy 实例的 Proxy 属性,该实例已经作为参数传递给方法。
myRemoteReportProxy.Proxy = myWebProxyremoteReportProxy.Proxy = webProxy;在该条件块之外,返回 RemoteReportProxy 实例。
Return myRemoteReportProxyreturn remoteReportProxy;
当 False 布尔值被传递到 isFireWallProxy 参数时,将不会添加防火墙代理设置。在测试客户端和 Web 服务之间没有防火墙的情况下,您可以使用最简单的 NT 身份验证配置来测试项目的这个版本。
如果在有防火墙的情况下测试项目,请将客户端应用程序移出防火墙,然后将 isFireWallProxy 布尔值参数值更改为 True。必须将准确的 Web 代理 URI 值赋给 webProxyURI 字符串参数,然后继续通过防火墙测试此代码。
继续浏览“测试 NT 身份验证”。