小编Agn*_*dia的帖子

绝对路径返回web相对路径

如果我已经设法使用Server.MapPath找到并验证文件的存在,并且我现在想要将用户直接发送到该文件,那么将该绝对路径转换回相对Web路径的最快方法是什么?

.net c# asp.net mappath path

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

SlowCheetah没有在构建时转换文件

我有一个项目,我试图使用SlowCheetah.我已经在我的构建配置中创建了我的配置文件(Test.web.config)和我想要使用的所有转换(Debug_Mock.config,Debug_SQL.config,Release)我有一个后期构建事件应该复制转换后的文件进入另一个目录但找不到该文件

(错误xcopy退出代码4)

SlowCheetah似乎没有像我期望的那样转换文件并将其放在输出目录(bin文件夹)中.有没有人有任何想法,为什么它没有发生,也许在某处设置?

仅供参考:此过程适用于具有相同项目的另一台计算机.至于我可以告诉同样的设置.但我可能没有找到正确的地方.

xml config-transformation slowcheetah xdt-transform web.config-transform

30
推荐指数
5
解决办法
2万
查看次数

调试SSIS脚本任务 - 启用了断点但它没有命中

我正在研究SSIS包.该包具有脚本(C#语言)任务.我需要调试脚本任务.我设定了断点.脚本编辑器(Visual Studio)中的脚本和SSIS包编辑器中的任务都显示红色的断点 - 表示断点已启用.但是,当我调试包时,断点没有命中.

断点没有任何条件,所以我希望每次打包都会打到它.

我在Windows 2003 R2 64位SP2上使用Visual Studio 2008.

debugging ssis breakpoints

27
推荐指数
8
解决办法
3万
查看次数

连接到SSIS中Script Task中的SQL数据库

在SSIS中的脚本任务内部,我需要调用SQL数据库.我有一个连接字符串是在我将数据库添加到数据源文件夹时创建的,但是现在我不确定如何在C#代码中引用它.我知道如何在ASP网站的代码中执行此操作,但似乎SSIS应该有更直接的方法.

编辑

这行代码实际上最终会抛出异常:

sqlConn = (System.Data.SqlClient.SqlConnection)cm.AcquireConnection(Dts.Transaction);
Run Code Online (Sandbox Code Playgroud)

它写道:"无法将'System._ComObject'类型的COM对象强制转换为类类型'System.Data.SqlClient.SqlConection.'"

c# sql sql-server ssis script-task

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

Restrictions on arguments to PathRelativePathTo in a "long path aware" environment

For a long path aware process on Windows 10, I'm trying to understand what the argument restrictions are when using the windows shell method PathRelativePathTo.

In my example below, I'm using C# via pinvoke to call the method.
I've given multiple examples below and their output. Note:

  • All of the examples give directory paths for "from" and file paths for "to" (none of these paths actually exist on disk)
  • My observations are that
    • Paths under the "short" MAX_PATH length …

.net c# windows c#-3.0 c#-4.0

12
推荐指数
1
解决办法
369
查看次数

按键对ImmutableSortedDictionary范围进行枚举

我正在阅读有关C#的内容ImmutableSortedDictionarySystem.Collections.Immutable并在考虑如何在程序中应用它。我非常喜欢C ++的lower_boundupper_bound(请参阅此处),而我更希望看到某种范围查找。但是,文档中似乎缺少类似的方法。我想念什么吗?还是MS真正提供了分类字典,而没有有效访问分类范围?这似乎并不像对IEnumerable扩展方法那样,可以对其中一个键进行某些操作,所以我有点困惑,因为我没有看到集合直接提供的某些功能。

.net c# algorithm immutability immutable-collections

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

ZipFile.ExtractToDirectory 抛出长文件名

我正在提取这样的 zip 文件

ZipFile.ExtractToDirectory(zipFile, extractTo);
Run Code Online (Sandbox Code Playgroud)

但我得到了

{"Could not find a part of the path 'C:\\....many subfolders\\Extremely long filename'."}
Run Code Online (Sandbox Code Playgroud)

该 zip 文件包含一个路径很长的文件,文件名总共约 280 个字符。我不确定这是否是我启用长路径的问题,如此处所示https://blogs.msdn.microsoft.com/jeremykuhne/2016/07/30/net-4-6-2-and-long-paths-在 Windows-10/ 上

如果我在资源管理器中打开路径,它会打开,但具有长文件名的文件不存在。如果我打开 zip 文件,该文件就在那里,因此提取长文件名的文件似乎存在问题。

是否可以在 zip 提取过程中跳过文件或允许提取长文件名的文件?

.net c# io zip

6
推荐指数
1
解决办法
2971
查看次数

Asp.net Web API规范化参数

说我有一个像这样的控制器:

public class MyController : ApiController {
    [Route("{myarg}")]
    [HttpGet]
    public async Task<Foo> Get(string myarg)
    {
        return await ...
    }
}
Run Code Online (Sandbox Code Playgroud)

myarg参数必须是"规范化".假设我总是希望修剪它,将其大写并将其反转.实际操作并不重要,它们只是一个例子,所以我不是在寻找修剪或反转字符串的方法.

我有一堆控制器,包含所有类似参数的所有方法.我希望有一种方法来注释这些方法或做其他事情以确保参数在传递到方法之前始终是"规范化的".我已经研究了路由约束(特别是自定义路由约束),但这并没有提供一种方法来做我想要的事情(这是有道理的,因为它不是一个真正的约束).

理想情况下,我想用以下属性来注释方法:

[MyNormalize("{myarg}")]
Run Code Online (Sandbox Code Playgroud)

或类似RouteAttributes 的类似东西.什么是最好的方式来实现这个并以干净的方式实现这一点?

.net c# asp.net asp.net-web-api asp.net-web-api2

6
推荐指数
2
解决办法
80
查看次数

运行异步代码 C# 时未找到 AsyncMethodBuilder.cs

每当我尝试调试代码但无法继续时,我都会收到错误。

未找到 AsyncMethodBuilder.cs

背景信息:

我必须用最少的时间压缩大量的文档。我有一个压缩库,我能够同步进行压缩。但为了加快速度,我想并行压缩文档(一次压缩的文档没有可编程的),这样 1.我会正确利用 CPU 并在最佳时间内完成工作。

为了实现上述目标,我按照链接创建了多个任务并等待它们完成

下面是我尝试过的代码。

public static class CompressAllTechniques
    {
        public static void Main()
        {
            GoCallAPIAsync();
        }

        private static async void GoCallAPIAsync()
        {
            try
            {
                List<Task> TaskList = new List<Task>();
// For Sample testing I have taken 4 files and will iterate through them to check the timings
                const string originalFile1 = @"Sample Data\source";
                const string originalFile2 = @"Sample Data\source1";
                const string originalFile3 = @"Sample Data\Original";
                const string originalFile4 = @"Sample Data\Original1";
                List<string> …
Run Code Online (Sandbox Code Playgroud)

.net c# asynchronous async-await c#-5.0

6
推荐指数
1
解决办法
5371
查看次数