C# asp.net从域中的服务器模拟到域外的服务器

C# asp.net从域中的服务器模拟到域外的服务器,c#,asp.net,dns,impersonation,C#,Asp.net,Dns,Impersonation,我使用此代码从域中的计算机连接到域外的计算机 我编写的web应用程序从web服务器连接到文件共享,以删除文件 我的问题是,我不能在一种情况下获得正确的凭据。在下面描述的两种情况下,我使用相同的后端dll 我有两个应用程序运行此代码。1与域外的两台计算机以及域内的Web服务器和域外的数据服务器。在执行从非域Web服务器到非域数据服务器的请求的服务器上运行的代码正在运行。域web服务器上请求非域数据服务器的代码不工作 为了进一步测试,我们将域服务器移出域,在没有进一步更改的情况下,代码再次工作。所以

我使用此代码从域中的计算机连接到域外的计算机

我编写的web应用程序从web服务器连接到文件共享,以删除文件

我的问题是,我不能在一种情况下获得正确的凭据。在下面描述的两种情况下,我使用相同的后端dll

我有两个应用程序运行此代码。1与域外的两台计算机以及域内的Web服务器和域外的数据服务器。在执行从非域Web服务器到非域数据服务器的请求的服务器上运行的代码正在运行。域web服务器上请求非域数据服务器的代码不工作

为了进一步测试,我们将域服务器移出域,在没有进一步更改的情况下,代码再次工作。所以看起来我必须改变一些东西(可能是一个设置)才能让它工作。有人知道我需要做什么来解决这个问题吗

@-----------以下问题的额外信息:

它是一个静态用户名passwor,在配置文件中指定。该帐户不是域帐户,并且与其他服务器上使用的帐户不同

    Request information: 
    Request URL: http://XXX.XXX.XXX.XXX/nl-nl/Attachment/GetAllFileNames 
    Request path: /nl-nl/Attachment/GetAllFileNames 
    User host address: XXX.XXX.XXX.XXX 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: NT AUTHORITY\NETWORK SERVICE 

    Thread information: 
    Thread ID: 1 
    Thread account name: NT AUTHORITY\NETWORK SERVICE 
    Is impersonating: False 
    Stack trace:    at System.Web.Mvc.ViewResult.FindView(ControllerContext context)
   at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
     at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
     at System.Web.Mvc.Controller.ExecuteCore()
     at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
     at System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext)
     at System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.<BeginProcessRequest>b__5()
   at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0()
   at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
   at System.Web.Mvc.MvcHandler.<>c__DisplayClasse.<EndProcessRequest>b__d()
   at System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f)
   at System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action)
   at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
请求信息:
请求URL:http://XXX.XXX.XXX.XXX/nl-nl/Attachment/GetAllFileNames 
请求路径:/nl-nl/Attachment/getAllFileName
用户主机地址:XXX.XXX.XXX.XXX
用户:
已验证:False
身份验证类型:
线程帐户名称:NT授权\网络服务
线程信息:
线程ID:1
线程帐户名称:NT授权\网络服务
是模仿:假
堆栈跟踪:位于System.Web.Mvc.ViewResult.FindView(ControllerContext上下文)
在System.Web.Mvc.ViewResultBase.ExecuteSult(ControllerContext上下文)中
位于System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext ControllerContext,ActionResult ActionResult)
位于System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext ControllerContext,String actionName)
在System.Web.Mvc.Controller.ExecuteCore()上
在System.Web.Mvc.ControllerBase.Execute(RequestContext-RequestContext)中
位于System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext RequestContext)
在System.Web.Mvc.MvcHandler.c_uuudisplayClass6.c_uudisplayClassB.b_uu5()中
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass1.b__0()中
在System.Web.Mvc.Async.AsyncResultRapper.c_uuu显示类8`1.b_uuu7(IAsyncResult)
位于System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResult`1.End()
在System.Web.Mvc.MvcHandler.c_udisplayClasse.b_ud()中
在System.Web.Mvc.SecurityUtil.b_0(操作f)
位于System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(操作)
位于System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
在System.Web.Mvc.MvcHandler.System.Web.IHTTPassynchandler.EndProcessRequest中(IAsyncResult结果)
在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()中
在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)
我发现了问题


从域服务器提交时,我必须使用登录\u键入\u新建\u凭据(9)而不是交互式凭据(2)。

首先,我假设您使用的是静态用户名/密码。它是域用户还是web服务器上的本地用户帐户?第二,错误消息是什么?链接的代码通过异常返回错误消息,因此应该显示在响应页面或事件日志中。