有没有办法配置.NET客户端,以便它可以与使用Windows身份验证的IIS托管的SingalR一起使用?
如果我禁用Windows身份验证,它可以工作,但这不是一个选项
设置connection.Credentials = CredentialCache.DefaultCredentials无效。
代码
public EventProxy(IEventAggregator eventAggregator, string hubUrl)
{
typeFinder = new TypeFinder<TProxyEvent>();
subscriptionQueue = new List<EventSubscriptionQueueItem>();
this.eventAggregator = eventAggregator;
var connection = new HubConnection(hubUrl);
connection.Credentials = CredentialCache.DefaultCredentials;
proxy = connection.CreateHubProxy("EventAggregatorProxyHub");
connection.Start().ContinueWith(o =>
{
SendQueuedSubscriptions();
proxy.On<object>("onEvent", OnEvent);
});
}
ContinueWith在Start之后直接触发,当第一个订阅进入时我得到了
必须先调用Start方法,然后才能发送数据。 如果我在DefaultCredentials上放置一个监视器,我可以看到用户名,域和密码都是String.Empty。它是一个标准的Console程序,Enviroment.Username返回我的用户名
答案 0 :(得分:2)
当然,设置connection.Credentials = CredentialCache.DefaultCredentials。有关凭据的更多详细信息,请http://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultcredentials.aspx。