小编Avi*_*fer的帖子

如何创建一个nim dll并从c#中调用它

我看过几乎每一个例子,我可以通过谷歌找到,并不能完成任务的最简单的创建一个dll (窗口) nim

任何人都可以一步一步地解释它吗?

我正在使用nimIDE - aporia生成代码.

构建a是否dll需要使用命令行?我想有一个解决方法.

使用aporia IDE\ command line,如何通过编译下面的代码来实现与以下代码相同的结果dll:

extern "C" __declspec(dllexport) int __stdcall return_multiply(int num1, int num2)
{
    return num1 * num2;
}
Run Code Online (Sandbox Code Playgroud)

您可能知道的代码可以从中调用 c#

c# dll ffi dllimport nim-lang

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

使用.NET将1,000,000条记录更新(填充)到数据库中的最快方法

我使用此代码将100万条记录插入数据库中的空表.好吧没有太多代码我将从我已经与数据交互的点开始,并将模式读入DataTable:

所以:

DataTable returnedDtViaLocalDbV11 = DtSqlLocalDb.GetDtViaConName(strConnName, queryStr, strReturnedDtName);
Run Code Online (Sandbox Code Playgroud)

现在我们已经returnedDtViaLocalDbV11创建了一个new DataTable来成为源数据库表的克隆:

DataTable NewDtForBlkInsert = returnedDtViaLocalDbV11.Clone();

Stopwatch SwSqlMdfLocalDb11 = Stopwatch.StartNew();
NewDtForBlkInsert.BeginLoadData();

for (int i = 0; i < 1000000; i++)
{
   NewDtForBlkInsert.LoadDataRow(new object[] { null, "NewShipperCompanyName"+i.ToString(), "NewShipperPhone" }, false);
}
NewDtForBlkInsert.EndLoadData();

DBRCL_SET.UpdateDBWithNewDtUsingSQLBulkCopy(NewDtForBlkInsert, tblClients._TblName, strConnName);

SwSqlMdfLocalDb11.Stop();

var ResSqlMdfLocalDbv11_0 = SwSqlMdfLocalDb11.ElapsedMilliseconds;
Run Code Online (Sandbox Code Playgroud)

此代码在5200ms内将 100万条记录填充到嵌入式SQL数据库(localDb)中.其余的代码只是实现了bulkCopy,但无论如何我都会发布它.

 public string UpdateDBWithNewDtUsingSQLBulkCopy(DataTable TheLocalDtToPush, string TheOnlineSQLTableName, string WebConfigConName)
 {
    //Open a connection to the database. 
    using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings[WebConfigConName].ConnectionString))
    {
       connection.Open();

       // Perform …
Run Code Online (Sandbox Code Playgroud)

.net c# sql nosql localdb

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

interop with nim return Struct Array包含字符串/ char*成员

来自c#i的interim nim dll可以调用并执行下面的代码

如果我将添加另一个函数(proc),调用GetPacks()并尝试回显每个元素,buffer我可以正确地看到C#控制台中的输出,但我无法按原样传输数据,我尝试了一切,但我无法完成任务

proc GetPacksPtrNim(parSze: int, PackArrINOUT: var DataPackArr){.stdcall,exportc,dynlib.} =
  PackArrINOUT.newSeq(parSze)
  var dummyStr = "abcdefghij"
  for i, curDataPack in PackArrINOUT.mpairs:
    dummyStr[9] = char(i + int8'0')
    curDataPack = DataPack(buffer:dummyStr, intVal: uint32 i)

type
  DataPackArr = seq[DataPack]
  DataPack = object
    buffer: string
    intVal: uint32
Run Code Online (Sandbox Code Playgroud)

当我在c/c ++中执行相同操作时,我使用的类型是一个IntPtr或者char* 很乐意包含返回的buffer成员

EXPORT_API void __cdecl c_returnDataPack(unsigned int size, dataPack** DpArr)
{
    unsigned int dumln, Index;dataPack* CurDp = {NULL};
    char dummy[STRMAX];
    *DpArr = (dataPack*)malloc( size * sizeof( dataPack …
Run Code Online (Sandbox Code Playgroud)

c c# interop marshalling nim-lang

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

如何在使用sp_executesql尝试安全的通用存储过程时返回select的结果

我正在通过使用参数化命令检查查询数据库的正确方法,并且仍然能够将与任何表匹配的查询作为通用SP.

这个sql sp似乎没有为SQL注入打开一个漏洞,如果我错了,请纠正我,这是安全的......

但问题是,使用sp_executesql(似乎是安全的关键元素)不会返回SELECT结果.

我怎么能改变那个存储过程来返回值(而不是'破坏'它的安全性)

    CREATE PROCEDURE [dbo].[SafeSqlSP_SelectGivenTableWithOptionalColFilter] 
    @columnList varchar(75) ='*',
    @tableName sysname ,
    @ColNameAsFilter1 varchar(75) ='',
    @ColNameAsFilter2 varchar(75) ='',
    @ColFilter1VAL varchar(75)='',
    @ColFilter2VAL varchar(75)=''       
    AS
            BEGIN
        SET NOCOUNT ON;

DECLARE @sqlCommand nvarchar(1000)
        if( @ColNameAsFilter2!='' AND @ColNameAsFilter1!='')
            begin
                SET @sqlCommand = 'SELECT ' + QUOTENAME(@columnList) + ' FROM ' + QUOTENAME(@tableName) +' WHERE ' + QUOTENAME(@ColNameAsFilter1) +' = @ColFilter1VAL AND ' + QUOTENAME(@ColNameAsFilter2) +' = @ColFilter2VAL'
                EXECUTE sp_executesql @sqlCommand,
                N'@ColFilter1VAL nvarchar(75), @ColFilter2VAL nvarchar(75)', @ColFilter1VAL= @ColFilter1VAL, @ColFilter2VAL = @ColFilter2VAL
            end …
Run Code Online (Sandbox Code Playgroud)

sql-server stored-procedures sql-injection sql-server-2012

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

实现:ajax post - 使用 FormData 上传文件 + upload.onprogress

我正在尝试实施升级的 Ajax.post

使用 javascriptFormData我已将文件发布到专用控制器并成功将其保存到文件系统。

所以我有一个controller- “UploadFiles”,标准使用“幕后”,Request.Files 我想你可能会说,它处理文件。

目标是:

发送/发布文件,(可能一个一个)这样我就可以估计每个文件并将 ETA 绘制给客户端。

到目前为止,这是我的 ajax(使用上述方法上传文件的标准)。

Log("AajaxNoPostBack preparing post-> " + targetUrl);
$.ajax({
    type: 'POST',
    url: targetUrl,
    contentType: false,//two lines for posting a file i guess
    processData: false,
    data: FormDataobj,
    success : function forsuccess(){
    },
    error : function forerr(){
    }
 });
Run Code Online (Sandbox Code Playgroud)

到目前为止它正在成功实施调用 MVC4 controller

 [HttpPost]
 public JsonResult UploadFiles()
 {
     HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;

     foreach (string file in Request.Files)
     {
         // Checking for Internet Explorer  
         if (Request.Browser.Browser.ToUpper() …
Run Code Online (Sandbox Code Playgroud)

c# ajax jquery asp.net-mvc-4 progress-bar

5
推荐指数
0
解决办法
217
查看次数

在另一个对象中创建复杂/嵌套JavaScript对象的正确方法

以下代码旨在作为可重用对象的简单构造的简短示例.这是一个非常简单的,一个级别的深度对象,可以根据需要添加多个道具和方法,然后分配它们.

function someDesiredReusableType(optionally, pass, ctor, pars, here) {
   //core obj to return
  var DesiredTypeCrtor = {
              propSkiingLocation: "canada",
              OrderTickets: function(optionally){
                             var tryRoomWView = optionaly;
                             print(
                                  "Dear " + ctor +", your request for " +
                                  propSkiingLocation + " is now being processed: an " +
                                  tryRoomWView  + " request was notified, we understand you have " + pars + " for cross country transportation, confirmation email will be sent " + here + " as soon as we process your …
Run Code Online (Sandbox Code Playgroud)

javascript oop objectinstantiation

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

布局和不同的内容和样式,复杂的MVC4应用程序

我观看教程很多的,移动web-forms.masterVS MVC总体布局.

我的问题是关于嵌入式全局文件与单个页面自己的文件.

(files =样式和脚本)

在我的视图中的旁注我已经实现了一个小命名约定/规则,以便layouts-masters有一个LOpostfix,所以如果我的应用程序名为"SAdmin",那么我的布局(master)-chtml将命名为:_SAdminLO.cshtml

在我的布局大师我有:

(为简单起见)只是一个主栏 - 链接(这样所有页面都有"链接"顶栏)

这是主要的布局

   [textlink1] | [textlink2] | [textlink3] | [textlink4] ....
Run Code Online (Sandbox Code Playgroud)

然后我有索引页面(它的名字是cpanel)

在我的索引中cpanel.chtml我除了主要布局的文本栏之外还添加了图标...以图标菜单的形式复制顶栏

  [IMG]           [IMG]
  page_name     page_name

  [IMG]           [IMG]
  page_name     page_name
Run Code Online (Sandbox Code Playgroud)

所以一起Layout-master _SAdminLO.cshtml+ cpanel.chtml- 来自我的应用程序的"主页"

现在我的个人页面完全独立于他们的行动

但他们需要的是顶部栏的css + html,而不是cpanel(索引)

所以我的情况是:在rightclick-> view-source中,我可以看到我的所有页面都有双html标签 -

<html> + <head> + <body> markup of `LO`
Run Code Online (Sandbox Code Playgroud)

&

<html> + <head> + <body> markup of `individual.cshtml `
Run Code Online (Sandbox Code Playgroud)

文件 :

-主-

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc master-pages partial-views asp.net-mvc-4

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

设置具有选项和功能的selenium Webdriver

虽然我需要通过正确的设置启动驱动程序,但使用硒很容易

所以现在我只需要忽略缩放级别

我的代码是:

public string path = AppDomain.CurrentDomain.BaseDirectory;
public IWebDriver WebDriver;
var ieD = Path.Combine(path, "bin");

DesiredCapabilities caps = DesiredCapabilities.InternetExplorer();
caps.SetCapability("ignoreZoomSetting", true);
Run Code Online (Sandbox Code Playgroud)

现在我的当前代码只传递驱动程序的路径作为参数

WebDriver = new InternetExplorerDriver(ieD);
Run Code Online (Sandbox Code Playgroud)

我怎样才能正确传递能力和驱动程序路径?

c# asp.net selenium automation selenium-webdriver

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

为SQL Server或每个数据库设置的DateTime格式

通过这段代码:

var ciIL = CultureInfo.CreateSpecificCulture("he-IL");
var todayNow = DateTime.Now.ToString("g", ciIL );
Run Code Online (Sandbox Code Playgroud)

DateTime会在我的本地首选格式生成(04/07/2013 20:00)

这就是我为日期/时间设置我的Windows本地化格式的方式,并且我真的希望它在SQL Server中设置(我目前使用的是2012 SP1)

因此,如果要求完全配置的SQL Server这样太复杂,我会解决一个方法需要设置每个新数据库..所以设置将是每个数据库

问题是当我以dd/mm/yyyy格式设置日期时,它会被SQL翻译,因此在Management Studio中显示为2013-04-07 20:00

但它返回到ASP.NET C#代码: 07/04/2013 20:00

我希望数据库能够像我需要的那样使用转换方法来查询它

我在当前数据库中的排序规则设置为:Hebrew_100_CI_AS

并且服务器设置为:Hebrew_100_CI_AI

c# database sql-server asp.net datetime

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