RavenDB域错误

时间:2013-07-19 18:43:40

标签: windows iis-7 ravendb impersonation

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

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

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

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