2013-07-19 54 views
0

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

回答

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); 
0

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

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

+0

我正在连接“http:// localhost/testRaven”,它在我的web应用程序中正常工作,但在本地应用程序中失败。该地址也适用于我的Silverlight应用程序。如果有帮助,异常说它是一个“IsolatedStorageException”。 – busbina

+0

听起来像是一个安全问题,就好像Web应用程序运行在可信区域(比如Intranet),但乌鸦服务器运行在不同的区域(比如说Internet)。它们是否都在同一个Internet Explorer区域中运行(请记住,如果您在其他Web浏览器中访问它,则无关紧要; Silverlight使用Internet Explorer中的这些区域)。 –

+0

另外,请尝试使用计算机名称,而不是本地主机 –