SQL Server 2008安装时出现不能在控件上调用 Invoke 或 BeginInvoke错误的方法,为sql server代理服务提供的凭据无效。若要继续操作

解决SQLServer2008安装及代理服务问题
本文提供了解决SQLServer2008安装时遇到的不能在控件上调用Invoke或BeginInvoke错误的方法,以及为解决SQLServer代理服务提供的凭据无效问题而采取的操作步骤。

解决SQL Server 2008安装时出现不能在控件上调用 Invoke 或 BeginInvoke错误的方法

方法1.
出现错误后,找到注册表的 "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager" 并将其下面的"PendingFileRenameOperations" 的值删掉。
然后重新运行安装。

方法2.
在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。
原因是,VC 2010的一个服务程序mscorsvw.exe进程调用Invoke导致的,结束这个进程,即可。

 


--------------------------------------------------------------------------

为sql server代理服务提供的凭据无效。若要继续操作


解决方法:

SQL Server代理 选 SYSTEM
SQL Server database engine  选 NETWORK SERVICE
SQL Serveranalysis services  选 NETWORK SERVICE
SQL Serverreporting services  选 NETWORK SERVICE
SQL Serverintegration services  选 NETWORK SERVICE

不要设置密码

当你在WinForm项目中遇到这个错误:“在创建窗口句柄之前不能控件上调Invoke BeginInvoke”,这是因为试图在控件尚未完全初始化显示出来的候就操作它们引发的。`Invoke` 和 `BeginInvoke` 是用于在UI线程外更新控件方法,但是为了保证线程安全和UI响应,这些操作需要在控件已经添加到窗体并有了窗口句柄之后才能执行。 解决这个问题的方法有几种: 1. **确保调用间**:检查你的代码,确认是否在控件的构造函数、Load事件其他早期处理阶段尝试了`Invoke``BeginInvoke`。应该在控件加载完成后执行这类操作。 ```csharp private void Form1_Load(object sender, EventArgs e) { // 这里可以安全地调用 Invoke BeginInvoke this.Invoke(new Action(() => YourMethodThatNeedsToBeInvoked())); } ``` 2. **异步等待**:如果你的操作是可延后的,考虑将它放入一个异步任务,并在适当的机(如`OnHandleCreated`事件)启动该任务。 ```csharp private async Task InitializeTask() { await Task.Delay(1); // 等待控件加载完成 // 现在可以安全地调用 await YourAsyncOperation(); } public partial class Form1 : Form { protected override void OnHandleCreated(EventArgs e) { base.OnHandleCreated(e); InitializeTask().ConfigureAwait(false); // 启动任务 } } ``` 3. **事件订阅**:如果是在某个事件触发需要操作控件,可以在事件处理器内部调用。 ```csharp button.Click += (sender, e) => { if (this.IsHandleCreated) { // 控制在此处是可用的 UpdateControls(); } else { // 如果尚未创建句柄,延迟处理 Invoke((Action)(() => UpdateControls())); } }; private void UpdateControls() { // 更新控件内容... } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值