1

有没有办法配置 .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 triggerst 直接在 Start 之后,当第一个订阅进来时,我得到一个

必须先调用 Start 方法,然后才能发送数据。如果我查看 DefaultCredentials,我可以看到用户名、域和密码都是 String.Empty。它是一个标准的控制台程序,Enviroment.Username 返回我的用户名

4

1 回答 1

2

当然,设置 connection.Credentials = CredentialCache.DefaultCredentials。此处有关凭据的更多详细信息http://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultcredentials.aspx

于 2013-06-21T05:00:33.800 回答