Authentication 获取SQL报表服务的身份验证方法

Authentication 获取SQL报表服务的身份验证方法,authentication,reporting-services,Authentication,Reporting Services,是否可以获取SQL报表服务的身份验证方法?我有一个应用程序来部署RDL(顺便说一下)。它有以下代码(简化): 但是如果服务器需要用户名和密码呢?由于这段代码将在多台服务器上使用,因此我需要一个方法来首先请求身份验证方法。如果它集成了安全性,我可以使用上面的代码。如果没有,我可以询问用户用户名和密码 我已尝试使用ws.GetSystemProperties请求EnableIntegratedSecurity属性,但仍遇到异常(需要407代理身份验证)。我可以捕获异常,然后提示输入用户名和密码,但不

是否可以获取SQL报表服务的身份验证方法?我有一个应用程序来部署RDL(顺便说一下)。它有以下代码(简化):

但是如果服务器需要用户名和密码呢?由于这段代码将在多台服务器上使用,因此我需要一个方法来首先请求身份验证方法。如果它集成了安全性,我可以使用上面的代码。如果没有,我可以询问用户用户名和密码


我已尝试使用
ws.GetSystemProperties
请求
EnableIntegratedSecurity
属性,但仍遇到异常(需要407代理身份验证)。我可以捕获异常,然后提示输入用户名和密码,但不喜欢使用这种异常驱动的方式。

鉴于没有人再回答这个问题,而且可能永远也不会,我将假设我将不得不使用异常方式:


如果上述代码不起作用,请捕获异常并请求用户名和密码。然后使用这些凭据调用CreateReport。如果出现另一个异常,请优雅地处理它…

异常样式有什么害处?缓存该服务器url的auth方法,它只会发生一次。是的,但是如果有一种方法可以直接请求它,那就太好了。我一直明白使用异常的逻辑是不好的,我同意这一点。如果没有其他办法,我会用它。
ReportingService2005 ws = new ReportingService2005();
ws.Url = url;
ws.Credentials = System.Net.CredentialCache.DefaultCredentials;
ws.CreateReport(....)
// and so on