0

我在 IIS 上设置了 RavenDB 实例。我可以使用网络服务应用程序很好地连接到它,但是当我尝试连接然后使用在本地管理员下运行的应用程序进行初始化时,我收到错误“无法确定域的身份”。我唯一能想到的就是试图冒充“网络服务”,但我不确定这是否可能。管理员拥有 raven web 文件夹的完全权限。

4

2 回答 2

1

想通了这个问题。我必须在不同的应用程序域中运行我的 Raven 文档存储连接和初始化。我最终这样做了。

string pathToDLL = installerFolder + "\\RavenSiteSetup.dll";
AppDomainSetup domainSetup = new AppDomainSetup {
                                 ApplicationBase = installerFolder,
                                 PrivateBinPath = pathToDLL
                             };

Evidence ev1 = new Evidence();

ev1.AddAssemblyEvidence(new ApplicationDirectory(
                         typeof(RavenSetup).Assembly.FullName)
                        );

ev1.AddHostEvidence(new Zone(SecurityZone.Internet));
AppDomain ad = AppDomain.CreateDomain("RavenSetup", ev1, domainSetup,
               Assembly.GetExecutingAssembly().PermissionSet,null);

IIdentity identity = new GenericIdentity("RavenSetup");
IPrincipal principal = new GenericPrincipal(identity, null);
ad.SetThreadPrincipal(principal);

RavenSetup remoteWorker = (RavenSetup)ad.CreateInstanceFromAndUnwrap(
            pathToDLL,
            typeof(RavenSetup).FullName);

remoteWorker.Connect(sitePath);
于 2013-07-26T23:35:25.773 回答
0

本地连接,你使用的是 http://localhost:[port] 吗?我在本地使用域名时遇到问题。

尝试在本地运行您的应用程序并通过 locahost 地址连接到 RavenDB。

于 2013-07-19T18:46:42.960 回答