问题列表 - 第26658页

.NET 4:使用凭据的Process.Start返回空输出

我从ASP.NET运行一个外部程序:

var process = new Process();
var startInfo = process.StartInfo;

startInfo.FileName = filePath;
startInfo.Arguments = arguments;

startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
//startInfo.RedirectStandardError = true;

process.Start();

process.WaitForExit();

Console.Write("Output: {0}", process.StandardOutput.ReadToEnd());
//Console.Write("Error Output: {0}", process.StandardError.ReadToEnd());
Run Code Online (Sandbox Code Playgroud)

使用此代码一切正常:执行外部程序并执行process.StandardOutput.ReadToEnd()返回正确的输出.

但是在我在process.Start()之前添加这两行之后(在另一个用户帐户的上下文中运行程序):

startInfo.UserName = userName;
startInfo.Password = securePassword;
Run Code Online (Sandbox Code Playgroud)

程序未执行,process.StandardOutput.ReadToEnd()返回一个空字符串.没有异常被抛出.

userNamesecurePassword是正确的(如果凭据不正确,则抛出异常).

如何在另一个用户帐户的上下文中运行该程序?

环境: .NET 4,Windows Server 2008 32位

UPD:

该应用程序在ASP.NET开发服务器+ Windows 7下运行正常,但在IIS 7 + Windows Server 2008 Web Edition上失败.

UPD2:

在事件日志中找到了这个:

故障应用程序cryptcp.exe,版本3.33.0.0,时间戳0x4be18460,故障模块kernel32.dll,版本6.0.6002.18005,时间戳0x49e03821,异常代码0xc0000142,故障偏移0x00009eed,进程ID 0xbf4,应用程序启动时间0x01caf1b91f5b851a.

cryptcp.exe是外部应用程序的名称.

.net .net-4.0 process.start

6
推荐指数
1
解决办法
1878
查看次数

动态设置Oracle序列的"Start With"值

我正在尝试创建一个可以部署在多个数据库上的发布脚本,但是可以在以后将数据合并在一起.处理此问题的显而易见的方法是在后续部署中将生产数据的序列号设置得足够高以防止冲突.

问题在于提出一个发布脚本,该脚本将接受环境编号并适当地设置序列的"Start With"值.理想情况下,我想使用这样的东西:

ACCEPT EnvironNum PROMPT 'Enter the Environment Number:  '
--[more scripting]
CREATE SEQUENCE seq1 START WITH &EnvironNum*100000;
--[more scripting]
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为您无法在DDL中计算数值表达式.

另一种选择是通过PL/SQL使用动态SQL创建序列.

ACCEPT EnvironNum PROMPT 'Enter the Environment Number:  '
--[more scripting]
EXEC execute immediate 'CREATE SEQUENCE seq1 START WITH ' || &EnvironNum*100000;
--[more scripting]
Run Code Online (Sandbox Code Playgroud)

但是,我宁愿避免这种解决方案,因为我通常会尽量避免在PL/SQL中发出DDL.

最后,我提出的第三个选项是简单地接受Start With值作为替换变量,而不是环境号.

有没有人更好地考虑如何解决这个问题?

oracle sqlplus

4
推荐指数
1
解决办法
5225
查看次数

Excel和XML文件之间的映射 - 如何从C#刷新

有一个excel电子表格,我指定映射到XML文件.

我想从C#打开电子表格并强制刷新mappped到XML文件的单元格. - >我该怎么办?我需要参考的任何dll?

谢谢

奥利维尔

c# excel

5
推荐指数
1
解决办法
1090
查看次数

如何将JavaScript对象复制到另一个对象?

假设我想从一个空白的JavaScript对象开始:

me = {};
Run Code Online (Sandbox Code Playgroud)

然后我有一个数组:

me_arr = new Array();
me_arr['name'] = "Josh K";
me_arr['firstname'] = "Josh";
Run Code Online (Sandbox Code Playgroud)

现在我想将该数组放入对象中,以便我可以使用me.name它返回Josh K.

我试过了:

for(var i in me_arr)
{
    me.i = me_arr[i];
}
Run Code Online (Sandbox Code Playgroud)

但这没有达到预期的效果.这可能吗?我的主要目标是将此数组包装在JavaScript对象中,以便将其作为JSON传递给PHP脚本(通过AJAX或其他).

javascript php json object

3
推荐指数
1
解决办法
1921
查看次数

WPF ShowDialog立即返回

有时,当我在WPF中的OpenFileDialog窗口上调用ShowDialog时,对话框立即关闭,返回值为false。

我正在调用ShowDialog以响应按钮单击事件。我可以使用MSDN上的OpenFileDialog示例代码来重现此问题:

// Configure open file dialog box
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
dlg.FileName = "Document"; // Default file name
dlg.DefaultExt = ".txt"; // Default file extension
dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension

// Show open file dialog box
Nullable<bool> result = dlg.ShowDialog();

// Process open file dialog box results
if (result == true)
{
    // Open document
    string filename = dlg.FileName;
}
Run Code Online (Sandbox Code Playgroud)

从Visual Studio 2008 SP1在调试模式下运行解决方案时,会间歇性地出现此问题。真烦人。

这是一个已知的问题?有解决方法吗?

wpf visual-studio-2008

5
推荐指数
1
解决办法
1076
查看次数

为每个域对象创建一个接口是个好主意吗?

我只是查看使用nHibernate的现有项目的源代码,发现为每个实体类创建了接口.例如,客户类的ICustomer.我只是想知道这种模式的优点是什么,因为ICustomer主要包含属性和极少数方法.

.net nhibernate design-patterns domain-model

2
推荐指数
1
解决办法
128
查看次数

传递Func <TSource,TKey> keySelector错误

static void Main()
        {
string[] a = { "a", "asd", "bdfsd", "we" };
            a = a.OrderBy(fun).ToArray();
}

 private static int fun(string s)
        {
            return s.Length;
        }
Run Code Online (Sandbox Code Playgroud)

它给出了编译时错误.我知道我们可以像这样使用Lambda表达式.a.OrderBy(s=>s.Length).ToArray();但我希望通过定义不同的功能来做到这一点.我做错了什么?

c# linq lambda delegates c#-3.0

3
推荐指数
1
解决办法
7031
查看次数

如何使用jQuery确定表单字段是否为空?

我有一个包含两个字段的表单,名字和姓氏.用户不必填写字段.当用户单击提交按钮时,将显示一个jquery对话框,其中包含用户在表单中输入的数据.我只想显示输入字段的数据.我正在尝试使用if语句并使用length()函数,但它无法正常工作.帮助会很棒!

这是我的对话框jquery脚本:

$(function(){
    //Initialize the validation dialog
    $('#validation_dialog').dialog({
        autoOpen: false,
        height: 600,
        width: 600,
        modal: true,
        resizable: false,
        buttons: {
            "Submit Form": function() {
                document.account.submit();
            },
            "Cancel": function() {
                $(this).dialog("close");
            }
        }
    });
    // Populate the dialog with form data
    $('form#account').submit(function(){
        $("p#dialog-data").append('<span>First Name: </span>');
        $("p#dialog-data").append('<span>');
        $("p#dialog-data").append($("input#firstname").val());
        $("p#dialog-data").append('</span><br/>');
        if (("input#lastname").val().length) > 0) {
            $("p#dialog-data").append('<span>Last Name: </span>');
            $("p#dialog-data").append('<span>');
            $("p#dialog-data").append($("input#lastname").val());
            $("p#dialog-data").append('</span><br/>');
        };
        $('#validation_dialog').dialog('open');
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

jquery append

1
推荐指数
1
解决办法
1万
查看次数

发送套接字 c ctrl+c 行为

我正在了解一个基于服务器和各种客户端的应用程序,但我在发送命令时遇到问题。每当我在客户端执行ctrl+c操作时,发送操作都会杀死所在的线程和正在运行的进程(为了拥有多个客户端,我将一个线程设置为其中一个)。

如果客户端正确结束(执行关闭套接字),服务器不会死亡,但是当我在客户端上使用ctrl+组合时,两者都会退出。c

我该怎么做才能防止发送命令出现这种行为?

提前致谢

c sockets

5
推荐指数
2
解决办法
2万
查看次数

在SQL Server中更新空XML标记

我正在尝试在sql server上更新我的Xml字符串中的空XML标记; 它表示当我运行以下脚本时更新行,但是当我查看XML时; 什么也没有变:

Declare @newValue varchar(100)
select @newValue = '01'

    update dbo.UploadReport
    set XmlTest.insert('replace value of (/CodeFiveReport/Owner/AgencyID/text())[1] with sql:variable("@newValue")') 
    where id = 'myId'
Run Code Online (Sandbox Code Playgroud)

在数据库中仍然显示为xml

<AgencyID />

我究竟做错了什么?

我在最后没有文本()的情况下尝试了@AgencyID,仍然无济于事......

xml sql

8
推荐指数
3
解决办法
1万
查看次数