Tag: c ++

如何识别C#中是否成功执行SQL作业

我有一个C#方法来执行SQL作业。 它成功执行SQL作业。 而且代码非常完美。 我正在使用标准SQL存储过程msdb.dbo.sp_start_job 。 这是我的代码.. public int ExcecuteNonquery() { var result = 0; using (var execJob =new SqlCommand()) { execJob.CommandType = CommandType.StoredProcedure; execJob.CommandText = “msdb.dbo.sp_start_job”; execJob.Parameters.AddWithValue(“@job_name”, “myjobname”); using (_sqlConnection) { if (_sqlConnection.State == ConnectionState.Closed) _sqlConnection.Open(); sqlCommand.Connection = _sqlConnection; result = sqlCommand.ExecuteNonQuery(); if (_sqlConnection.State == ConnectionState.Open) _sqlConnection.Close(); } } return result; } 这是在作业内执行的sp ALTER PROCEDURE […]

从托管C#释放非托管内存及其指针

简而言之的问题是:如何释放从本机DLL返回的内存作为托管代码中的ItrPtr? 详细信息:假设我们有简单的函数将两个参数作为OUTPUT,第一个是参考指针到字节数组,第二个是参考Int。 该函数将根据某些规则分配字节数,并返回内存指针和字节大小以及返回值(1表示成功,0表示失败)。 下面的代码工作正常,我可以正确获取字节数组和字节数和返回值,但是当我尝试使用指针(IntPtr)释放内存时,我得到exception: Windows已在TestCppDllCall.exe中触发了断点。 这可能是由于堆的损坏,这表示TestCppDllCall.exe或它已加载的任何DLL中的错误。 这也可能是由于用户在TestCppDllCall.exe具有焦点时按下F12。 输出窗口可能包含更多诊断信息。 为了清楚起见: 下一个C#代码与其他DLL函数正常工作具有相同的签名并释放内存工作没有任何问题。 如果您需要更改分配内存方法或添加任何其他代码,则接受(C)代码中的任何修改。 我需要的所有function是Native DLL函数接受两个参数引用(Byte数组和int,在c#[IntPtr of byte array and int]中)根据一些规则填充一些值并返回函数结果(Success或Fail) 。 CppDll.h #ifdef CPPDLL_EXPORTS #define CPPDLL_API __declspec(dllexport) #else #define CPPDLL_API __declspec(dllimport) #endif extern “C” CPPDLL_API int writeToBuffer(unsigned char *&myBuffer, int& mySize); CppDll.cpp #include “stdafx.h” #include “CppDll.h” extern “C” CPPDLL_API int writeToBuffer(unsigned char*& myBuffer, int& mySize) { mySize […]

什么相当于javascript中的DateTime.ToOADate()?

如何在javascript中获取OADate(OLE自动化日期)? 我需要以double值的forms传递我的日期对象(到我的Web服务)。 在c#中: var d = DateTime.Now.ToOADate(); 什么是js中的等价物?

将.txt文件放入DataGridView

我有一个openFileButton ,当点击它时,将打开一个如下所示的文件: RefDeg Part# Xcntr Ycntr Rot PkgStyle U6 IC-00279G 33.411 191.494 0 QFP32 U1 IC-00272G 38.011 200.644 90 BGA177 U5 IC-00273G 46.311 179.494 0 QFP40 R54 EXCLUDES 36.411 173.694 0 0402_2 R71 EXCLUDES 38.236 186.994 0 0402_2 R39 EXCLUDES 38.861 188.544 90 0402_2 C23 CAP-00130G 37.911 178.854 90 0402_3 C88 CAP-00010G 52.036 179.019 0 […]

我怎样才能创建shelltoast?

在我的应用程序中,我想通过ShellToast通知用户。 只是跑步…… var toast = new ShellToast { Title = “Nom nom nom!”, Content = “More! More! Keep feeding me!”, }; toast.Show(); ……什么都不会发生,据我所知,它需要从ScheduledTaskAgent运行。 但是如何在命令上运行它,并确保它只运行一次?

这是三元运算符的合理使用吗?

是否有像代码那样的理解/可维护性问题 inVar1 == 0 ? NULL : v.push_back(inVar1); inVar2 == 0 ? NULL : v.push_back(inVar2); 等等。 可能令人困惑的想法是使用三元运算符来进行程序流而不是变量赋值,这是通常的解释。 我没有看到解决这种用法的工作中的编码标准,所以虽然我很乐意这样做,但我想知道是否有充分的理由不这样做。

在外部JavaScript文件中插入动态值的安全方法

我正在使用以下策略实现内容安全策略标头 Content-Security-Policy: default-src ‘self’ 所以需要避免内联脚本,因为它不会执行。 但是,在MVC应用程序中,某些function(如编辑器模板)使用内联脚本。 例如tinymce_jquery_full.cshtml包含 $(function() { $(‘#@ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)’).tinymce({ … 使用CSP时,在外部.js文件中包含动态值的好方法是什么? 我目前的想法是两种方式之一: C#生成的JavaScript 类似于JSONP的工作方式,除了在URL中我没有指定回调 – 我只是传递动态值。 在每个需要动态JavaScript的文件中,我都包含一个链接,例如 它命中ScriptController的Foo动作,它返回插入动态值bar text/javascript类型的内容。 这对我来说是一种可靠的方式,如果有点笨拙,它首先会破坏使用CSP的一些优点(几乎很容易意外地插入未编码的文本并导致XSS,因为它没有CSP)。 隐藏的表单字段 动态值将插入页面: 并在外部JavaScript文件中查找这些值: $(‘#url’).val(); 这将有效,但如果页面上有多个动态控件或者有多个相同类型的控件,则可能会很麻烦。 问题是如何有效地将每个.js脚本与其隐藏字段匹配。 有没有更好的解决方案,还是有任何我可以使用的现成框架?

你能用JavaScript调用C#函数吗?

可能重复: 从JavaScript调用ASP.NET函数? “你能用JavaScript调用C#函数吗?” 有一位采访者问道。 可能吗? 如果是,那怎么样?

如何从C#主机应用程序执行Javascript回调函数

我正在C#中创建一个应用程序,它为大多数GUI提供自定义网页。 作为主持人,我想提供一个javascript API,以便嵌入式网页可以访问主机应用程序提供的一些服务。 我已经能够使用WebBrowser.ObjectForScripting属性和实现脚本类来获得这个工作的简单案例。 这适用于同步javascript调用。 但是,主机提供的一些操作是长时间运行的,并且我希望能够在操作完成时回调javascript。 这就是我遇到麻烦的地方。 使用Javascript: function onComplete( result ) { alert( result ); } function start() { window.external.LongRunningProcess( ‘data’, onComplete ); } C#: [ComVisible(true)] public class ScriptObject { public void LongRunningProcess( string data, callback ) { // do work, call the callback } } javascript中的’start’函数将整个过程踢掉。 我遇到的问题是,回调的类型是什么? 我该怎么称呼它来自C#? 如果我使用字符串类型进行回调,它会编译并运行,但是在LongRunningProcess方法中,回调实际上包含onComplete函数的全部内容(即’function onComplete(result){alert(result)}’) 如果我使用对象类型,它将作为COM对象返回。 使用Microsoft.VisualBasic.Information.TypeName方法,它返回’JScriptTypeInfo’。 但据我所知,这不是一个真正的类型,也没有通过所有MSDN真正提到它。 […]

如何填充LongListSelector

我开始使用C#Windows Phone 8开发,我正在尝试编写一个使用LongListSelector的应用程序。 该应用程序将显示一长串火车站名称。 我一直在网上看一些样本,包括MSDN PeopleHub和PhotoHub样本,但它们看起来非常复杂。 我拿了PeopleHub示例并对其进行了一些攻击,直到我在LongListSelector中显示一个站列表但我无法找到列表中选择了哪个项目。 SelectedItem属性只是在传递给另一个页面时返回应用程序名称,而不是在列表中选择了哪个项目。 我想我需要一个基本的例子,说明如何将一些项添加到LongListSelector,然后查找并将所选项传递给另一个页面。 我不完全理解控件是如何工作的,如果你必须使用某种类型的DataBinding和LongListSelector来填充它,或者它是否更简单: LongListSelectorThing.add(“trainstationA”); LongListSelectorThing.add(“trainstationB”); LongListSelectorThing.add(“trainstationC”); 等等 有人可以给我一些简单的基本指针,说明如何填充此控件并找出用户选择的项目? 当我说出他们选择的项目时,当LongListSelector网格出现时,他们点击A例如,然后它显示以A开头的事物列表然后他们点击trainstationA,我希望能够检测到他们’选择了trainstationA并将该信息传递到另一个页面,以便我可以显示有关它的更多信息。 对不起,如果这看起来很基本,我对此很新。 谢谢!