小编svi*_*ick的帖子

类库中的HtmlEncode

我有一个类库(在C#中).我需要使用HtmlEncode方法对数据进行编码.这很容易从Web应用程序.我的问题是,如何从从控制台应用程序调用的类库中使用此方法?

c# html-encode

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

你在MSIL中可以做些什么,你不能用C#或VB.NET做什么?

用.NET语言编写的所有代码都编译为MSIL,但是只有使用MSIL才能直接执行特定的任务/操作吗?

让我们在MSIL中比C#,VB.NET,F#,j#或任何其他.NET语言更容易完成.

到目前为止我们有这个:

  1. 尾递归
  2. 通用Co/Contravariance
  3. 重载仅在返回类型上有所不同
  4. 覆盖访问修饰符
  5. 有一个不能从System.Object继承的类
  6. 过滤的异常(可以在vb.net中完成)
  7. 调用当前静态类类型的虚方法.
  8. 获取值类型的盒装版本的句柄.
  9. 做一个尝试/错误.
  10. 使用禁用名称.
  11. 为值类型定义自己的无参数构造函数.
  12. 使用raise元素定义事件.
  13. CLR允许一些转换,但C#不允许转换.
  14. 做一个非main()方法作为.entrypoint.
  15. 直接使用本机int和本机unsigned int类型.
  16. 玩瞬态指针
  17. MethodBodyItem中的emitbyte指令
  18. 抛出并捕获非System.Exception类型
  19. 继承枚举(未验证)
  20. 您可以将字节数组视为(4x更小)整数数组.
  21. 您可以使字段/方法/属性/事件具有相同的名称(未验证).
  22. 您可以从自己的catch块分支回try块.
  23. 您可以访问famandassem访问说明符(protected internal是fam assem)
  24. 直接访问<Module>类以定义全局函数或模块初始值设定项.

.net c# clr cil

161
推荐指数
13
解决办法
9231
查看次数

SQL JOIN vs IN性能?

我有一个案例,使用JOIN或IN将给我正确的结果......通常有更好的性能,为什么?它取决于您运行的数据库服务器多少钱?(仅供参考我使用的是MSSQL)

sql t-sql sql-server performance

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

哪个提交有这个blob?

鉴于blob的哈希,有没有办法获得在他们的树中有这个blob的提交列表?

git version-control

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

SHA1 vs md5 vs SHA256:用于PHP登录?

我正在进行php登录,我正在尝试决定是否使用SHA1或Md5,或者我在另一篇stackoverflow文章中读到的SHA256.他们中的任何一个比其他人更安全吗?对于SHA1/256,我还使用盐吗?

另外,这是一种将密码存储为mysql中的哈希的安全方法吗?

function createSalt()
{
    $string = md5(uniqid(rand(), true));
    return substr($string, 0, 3);
}

$salt = createSalt();

$hash = sha1($salt . $hash);
Run Code Online (Sandbox Code Playgroud)

php md5 sha1 login sha256

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

数组,堆和堆栈以及值类型

int[] myIntegers;
myIntegers = new int[100];
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,是新的int [100]在堆上生成数组吗?从我通过c#读到的CLR,答案是肯定的.但我无法理解的是,数组中的实际int会发生什么.由于它们是值类型,我猜它们必须被装箱,因为我可以,例如,将myIntegers传递给程序的其他部分,如果它们一直留在堆栈上它会使堆栈混乱.还是我错了?我猜他们只是盒装,并且只要数组存在就会活在堆上.

c# memory arrays heap stack

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

返回void和返回任务有什么区别?

在查看各种C#异步CTP示例时,我看到一些返回的异步函数void,以及其他返回非泛型函数的异步函数Task.我可以看到为什么返回a Task<MyType>对于在异步操作完成时将数据返回给调用者很有用,但是我看到的返回类型的函数Task永远不会返回任何数据.为什么不回来void

c# asynchronous return-type task-parallel-library async-ctp

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

你如何使用插值的逐字字符串?

在C#6中有一个新功能:插值字符串.

这些允许您将表达式直接放入代码中,而不是依赖于索引:

string s = string.Format("Adding \"{0}\" and {1} to foobar.", x, this.Y());
Run Code Online (Sandbox Code Playgroud)

变为:

string s = $"Adding \"{x}\" and {this.Y()} to foobar.";
Run Code Online (Sandbox Code Playgroud)

但是,我们在使用逐字符串(主要是SQL语句)的多行中有很多字符串,如下所示:

string s = string.Format(@"Result...
Adding ""{0}"" and {1} to foobar:
{2}", x, this.Y(), x.GetLog());
Run Code Online (Sandbox Code Playgroud)

将这些恢复为常规字符串似乎很麻烦:

string s = "Result...\r\n" +
$"Adding \"{x}\" and {this.Y()} to foobar:\r\n" +
x.GetLog().ToString();
Run Code Online (Sandbox Code Playgroud)

如何同时使用逐字和插值字符串?

c# string-interpolation verbatim-string c#-6.0

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

Powershell v3 Invoke-WebRequest HTTPS错误

使用Powershell v3的Invoke-WebRequest和Invoke-RestMethod我已成功使用POST方法将json文件发布到https网站.

我正在使用的命令是

 $cert=New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("cert.crt")
 Invoke-WebRequest -Uri https://IPADDRESS/resource -Credential $cred -certificate $cert -Body $json -ContentType application/json -Method POST
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用GET方法时:

 Invoke-WebRequest -Uri https://IPADDRESS/resource -Credential $cred -certificate $cert -Method GET
Run Code Online (Sandbox Code Playgroud)

返回以下错误

 Invoke-RestMethod : The underlying connection was closed: An unexpected error occurred on a send.
 At line:8 char:11
 + $output = Invoke-RestMethod -Uri https://IPADDRESS/resource -Credential $cred
 +           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest)      [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
Run Code Online (Sandbox Code Playgroud)

我曾尝试使用以下代码来忽略SSL证书,但我不确定它是否真的在做任何事情.

 [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
Run Code Online (Sandbox Code Playgroud)

有人可以提供一些指导,说明这里可能出现的问题以及解决方法吗?

谢谢

.net rest powershell https

113
推荐指数
7
解决办法
18万
查看次数

为什么我应该创建异步WebAPI操作而不是同步操作?

我在我创建的Web API中进行了以下操作:

// GET api/<controller>
[HttpGet]
[Route("pharmacies/{pharmacyId}/page/{page}/{filter?}")]
public CartTotalsDTO GetProductsWithHistory(Guid pharmacyId, int page, string filter = null ,[FromUri] bool refresh = false)
{
    return delegateHelper.GetProductsWithHistory(CustomerContext.Current.GetContactById(pharmacyId), refresh);
}
Run Code Online (Sandbox Code Playgroud)

对此Web服务的调用是通过以下方式通过Jquery Ajax调用完成的:

$.ajax({
      url: "/api/products/pharmacies/<%# Farmacia.PrimaryKeyId.Value.ToString() %>/page/" + vm.currentPage() + "/" + filter,
      type: "GET",
      dataType: "json",
      success: function (result) {
          vm.items([]);
          var data = result.Products;
          vm.totalUnits(result.TotalUnits);
      }          
  });
Run Code Online (Sandbox Code Playgroud)

我见过一些以这种方式实现上一个操作的开发人员:

// GET api/<controller>
[HttpGet]
[Route("pharmacies/{pharmacyId}/page/{page}/{filter?}")]
public async Task<CartTotalsDTO> GetProductsWithHistory(Guid pharmacyId, int page, string filter = null ,[FromUri] bool refresh = false)
{
    return …
Run Code Online (Sandbox Code Playgroud)

c# ajax jquery async-await asp.net-web-api

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