小编Ste*_*ger的帖子

检查文件/文件夹访问权限

我得到一个UnautorizedAccessException运行此代码:

string[] fileList = Directory.GetFiles(strDir, strExt);
Run Code Online (Sandbox Code Playgroud)

发生在异常c:\users\username\appdata 如何,我可以检查我是否有访问权限(列出和读取文件)?

.net c# vb.net file-permissions

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

图形问题:在SQL服务器中通过NOCYCLE连接之前进行连接?

题:

我有以下(指示)图: 图形

而这张桌子:

CREATE TABLE [dbo].[T_Hops](
    [UID] [uniqueidentifier] NULL,
    [From] [nvarchar](1000) NULL,
    [To] [nvarchar](1000) NULL,
    [Distance] [decimal](18, 5) NULL
) ON [PRIMARY]

GO
Run Code Online (Sandbox Code Playgroud)

而这个内容:

      INSERT INTO [dbo].[T_Hops]             ([UID]             ,[From]             ,[To]             ,[Distance])       VALUES             (newid()              ,'A'              ,'E'              ,10.00000              );   
      INSERT INTO [dbo].[T_Hops]             ([UID]             ,[From]             ,[To]             ,[Distance])       VALUES             (newid()              ,'E'              ,'D'              ,20.00000              );   
      INSERT INTO [dbo].[T_Hops]             ([UID]             ,[From]             ,[To]             ,[Distance])       VALUES             (newid()              ,'A'              ,'B'              ,5.00000              );   
      INSERT INTO [dbo].[T_Hops]             ([UID]             ,[From]             ,[To]             ,[Distance])       VALUES             (newid()              ,'B'              ,'C'              ,10.00000              );   
      INSERT INTO [dbo].[T_Hops]             ([UID] …
Run Code Online (Sandbox Code Playgroud)

sql t-sql oracle recursion

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

pinvoke:如何释放malloc'd字符串?

在C dll中,我有这样的函数:

char* GetSomeText(char* szInputText)
{
      char* ptrReturnValue = (char*) malloc(strlen(szInputText) * 1000); // Actually done after parsemarkup with the proper length
      init_parser(); // Allocates an internal processing buffer for ParseMarkup result, which I need to copy
      sprintf(ptrReturnValue, "%s", ParseMarkup(szInputText) );
      terminate_parser(); // Frees the internal processing buffer
      return ptrReturnValue;
}
Run Code Online (Sandbox Code Playgroud)

我想使用P/invoke从C#中调用它.

[DllImport("MyDll.dll")]
private static extern string GetSomeText(string strInput);
Run Code Online (Sandbox Code Playgroud)

如何正确释放分配的内存?

我正在编写针对Windows和Linux的跨平台代码.

编辑:像这样

[DllImport("MyDll.dll")]
private static extern System.IntPtr GetSomeText(string strInput);

[DllImport("MyDll.dll")]
private static extern void FreePointer(System.IntPtr ptrInput);

IntPtr ptr = GetSomeText("SomeText"); …
Run Code Online (Sandbox Code Playgroud)

.net c c# mono pinvoke

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

如何在同步函数中等待JavaScript中的异步调用?

我最近不得不纠正Web应用程序中的安全问题(我没有创建).安全问题是,它使用的是非http-only cookie.所以我不得不设置会话cookie的http-only,这意味着你不能再从javascript中读取(并设置)cookie的值.到目前为止这么容易缝合.

更深层次的问题是,使用了Web应用程序

JSON.parse(readCookie(cookieName)).some_value
Run Code Online (Sandbox Code Playgroud)

在一百万个地方.

因此,为了不必重写"一百万行代码",我必须创建一个ajax-endpoint,它将http-cookie的内容作为JSON,并重写readCookie以使用SYNCHRONOUS ajax请求(而不是读取cookie) ),因为剩下的可怕代码希望readCookie在这些百万个地方同步,因为读取cookie是同步的.

现在的问题是,我得到了很多

主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用.如需更多帮助,请查看https://xhr.spec.whatwg.org/.

它会调试调试控制台,更不用说某人决定删除此功能的可能性.

因此,我正在研究新的ES async/await关键字,以查看是否可以帮助以某种方式同步创建异步ajax请求(我知道我必须使用IE 11的包装器).

到目前为止,我阅读了这些页面
https://www.twilio.com/blog/2015/10/asyncawait-the-hero-javascript-deserved.html
https://pouchdb.com/2015/03/05/taming- -async-beast-with-es7.html
https://jakearchibald.com/2014/es7-async-functions/
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements /功能*

但看起来所有新的异步内容似乎只能解决编写异步代码更容易的问题,而不是在异步和现有同步代码之间启用互操作.使用我读过的信息,我现在可以等待异步ajax调用的结果,就像它是同步的一样,但问题是 - await只允许在异步方法中使用...这意味着即使我可以等待它的结果是同步的,getCookie方法仍然必须是异步的,这使得所有的东西看起来完全没有意义(除非你的整个代码都是异步的,当你不从头开始时肯定不是这样). .

我似乎无法找到有关如何在同步和异步代码之间进行交互的任何信息.

例如,在C#中,我可以使用.Result从同步上下文中调用异步方法,例如

 AsyncContext.RunTask(MyAsyncMethod).Result;
Run Code Online (Sandbox Code Playgroud)

或更简单但更少死锁安全

MyAsyncMethod(args).Result;
Run Code Online (Sandbox Code Playgroud)

有没有办法在JavaScript中实现相同的目标?

当代码库的其余部分是同步的,没有任何互操作的可能性时,传播异步似乎没什么意义......在2017 AD中,真的还没有办法在JavaScript中实现这一点吗?

我再次强调:
我知道如何进行同步ajax调用,并且我知道如何使用带有回调和/或承诺的异步ajax调用.
但是我无法弄清楚的是如何同步async-ajax-call (没有回调),因此它可以从期望同步运行的代码中使用(在"一百万个地方")!

这是我到目前为止已经试过:
(请注意,我是使用 loadQuote main,文本 "罗恩曾经说过" 还是第一次出现在调试控制台,这应该不是如果的情况下异步 AJAX调用已经解决同步)

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

    <meta http-equiv="cache-control" content="max-age=0" />
    <meta http-equiv="cache-control" content="no-cache" />
    <meta …
Run Code Online (Sandbox Code Playgroud)

javascript ajax asynchronous synchronize async-await

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

如何在 Visual Studio 的 CMakeLists.txt 文件中设置 CLion 构建架构?

在 CLion 中,如何在 CMakeLists.txt 文件中设置 Visual Studio 构建架构?

根据cmake.org,可以在 CMAKE_GENERATOR_TOOLSET 选项中设置 host=x64 。

VS 2013 及更高版本的 Visual Studio 生成器支持通过在 CMAKE_GENERATOR_TOOLSET 选项中指定 host=x86 或 host=x64 值来使用 32 位或 64 位主机工具链。CMake 在此变量中提供选定的工具链架构首选项(x86、x64 或空)。

但无论我做什么,当我在 CLion 中单击“运行”时都没有任何效果。

CMakeLists.txt:

cmake_minimum_required(VERSION 3.15)
project(native_data_types)

set(CMAKE_CXX_STANDARD 14)

# http://www.saoe.net/blog/generating-64-bit-projects-for-visual-studio-with-cmake/


# https://cmake.org/cmake/help/latest/variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE.html
# How to set this ?

# set(host "x64")
# set(CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE "x64")
# set(CMAKE_GENERATOR_TOOLSET "host=x64")



# set (native_data_types_ARCHITECTURE "x64")
# set(BUILD_ARCH "-m64")
# set(BUILD_ARCH "-m32")

# set(CMAKE_C_FLAGS -m32)
# set(CMAKE_CXX_FLAGS -m32)

# set(CMAKE_C_FLAGS -m64) …
Run Code Online (Sandbox Code Playgroud)

c++ cmake visual-studio clion

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

使用JavaScript的AJAX和客户端 - 服务器架构

我必须对网站进行编程,但我宁愿不喜欢静态HTML性质.我更喜欢客户端 - 服务器架构.

现在我已经想到,使用XMLhttp,您基本上可以动态更新页面并向/从服务器发送/请求信息/操作.所以这基本上涵盖了客户区域.

但是,要完成客户端 - 服务器体系结构,服务器也必须发送/请求信息,而不进行查询.

有没有办法,例如对于聊天服务器,将收到的消息发送回所有客户端(客户端使用Web浏览器),而客户端不必在固定的时间间隔内查询?我想实现一个人在你输入内容时可以看到的内容.

javascript ajax asp.net-mvc json xmlhttprequest

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

JavaScript和复制风格

我正在使用javascript复制表格单元格.

它工作正常,只是它不复制样式.我想复制如下,但这不起作用.newCell.style = oldCell.style;

所以我认为对于我的text-align,我必须像这样复制它:newCell.style.textAlign = oldCell.style.textAlign;

这很有用,但每当我添加一个新的样式项时,我都要记得在这里注册它.

那么,我现在的问题是如何循环样式并复制那里的每一个项目?

使用chrome,我设法做到这样:

 var strAttribute = GetDomNameFromAttributeName(oRow.cells[1].style[0]);
    var styletocopy = eval('oRow.cells[1].style.'+strAttribute);
    eval("newCell.style."+strAttribute+"='"+styletocopy+"'"); // //newCell.style.textAlign='center';
Run Code Online (Sandbox Code Playgroud)

但这不适用于IE.没有用FF测试它,但假设铬兼容性.

有没有办法循环IE中的样式元素?或者有没有更好的方法来复制所有样式元素?

javascript css

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

SQL Server创建错误的表名,为什么?

问题:当我T_TableName使用SQL Server Management-Studio 创建表()时,它始终将表创建为

Domain\UserName.T_TableName
Run Code Online (Sandbox Code Playgroud)

代替

dbo.T_TableName
Run Code Online (Sandbox Code Playgroud)

怎么了 ?

sql sql-server ssms

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

如何在IE 9中为iframe指定doctype的QuirksMode?

题:

我们有一个门户网站,其中doctype与xhtml 1.0兼容.然后,在门户网站中,我们有一个内容iframe,我们嵌入了不同的Web应用程序.其中一些应用程序是由我们编写的,有些是第三方.

现在,在iframe中,我们嵌入了Microsoft Reporting Service报告等.问题是,报告服务报告要求QuirksMode"正确"呈现.并且门户网站在QuirksMode中不起作用(就我而言,这很好,因为我们只针对9,可能还有IE8).门户网站在IE7中也没有正常运行,我们将尽快放弃IE8支持.

但是,IE9似乎从父页面继承了文档模式,因此报告服务报告以IE9标准模式而不是quirks模式呈现.所以所有报告都显示不正确(我并不是说一点点,它真的很严重,完全错误,绝对可怕)

问题是,我们无法更改报告服务...
没有办法使报告服务(任何版本)呈现非quirksmode HTML.

根据Will iframe以怪癖模式渲染? 我可以补充一下

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
<meta http-equiv="X-UA-Compatible" content="IE=8" />
Run Code Online (Sandbox Code Playgroud)

要在QuirksMode中呈现iframe.(编辑:当我不关心门户网站如何渲染并将其放入其中时甚至不起作用)

不幸的是,门户网站就是说,而不是IE7兼容,所以这不是一个选项.
此外,SSRS报告在除门户网站之外的其他域上运行,因此我无法以任何方式使用JavaScript/jQuery.

有没有办法在QuirksMode中制作iframe渲染,而不破坏父页面布局?
或者(已经存在的)使报告服务呈现有效HTML的方式(我当然没有时间编写自定义HTML呈现扩展)?

html iframe doctype quirks-mode reporting-services

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

为什么这段代码甚至可以编译?

问题:
为什么以下代码(不是由我编写)甚至编译?
我的意思是除了选项严格是关闭和选项推断是...

If Not actdate.DayOfWeek = DayOfWeek.Saturday And Not actdate.DayOfWeek.Sunday Then
...
End If
Run Code Online (Sandbox Code Playgroud) **编辑:**
对于那些不熟悉VB的人来说,它显然与以下相同:
if (!(actdate.DayOfWeek == DayOfWeek.Saturday) & !actdate.DayOfWeek.Sunday) {
...
}
Run Code Online (Sandbox Code Playgroud) 这基本上已经回答了这个问题,因为要记住的是VB-`AND`实际上是按位的.

.net vb.net

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