是的,可以在不修改當前代碼的情況下指定您自己的憑據。儘管如此,它仍然需要一小段代碼。
創建這個類叫做SomeAssembly.dll組件:
namespace SomeNameSpace
{
public class MyProxy : IWebProxy
{
public ICredentials Credentials
{
get { return new NetworkCredential("user", "password"); }
//or get { return new NetworkCredential("user", "password","domain"); }
set { }
}
public Uri GetProxy(Uri destination)
{
return new Uri("http://my.proxy:8080");
}
public bool IsBypassed(Uri host)
{
return false;
}
}
}
添加到您的配置文件:
<defaultProxy enabled="true" useDefaultCredentials="false">
<module type = "SomeNameSpace.MyProxy, SomeAssembly" />
</defaultProxy>
這種 「內噴射」 列表中的一個新的代理,並且由於沒有默認憑證,因此WebRequest類將首先調用您的代碼並請求您自己的憑證。您需要將組裝的SomeAssembly放置在CMS應用程序的bin目錄中。
這是一個靜態代碼,爲了獲得所有的字符串,比如用戶名,密碼和URL,你可能需要實現自己的ConfigurationSection,或者在AppSettings中添加一些信息,這樣更容易。
我打算把這個標記爲答案,因爲它看起來好像它應該工作,但是我仍然遇到連接問題,到ISA Server比什麼都重要.. – spmason 2008-10-13 20:09:00
這真是太好了。 – Lalit 2010-05-25 13:18:11