问题列表 - 第41351页

Python:在数组中拆分列表

刚开始使用python并且知道足够知道我什么都不知道.我想找到将列表拆分为dicts列表的替代方法.示例列表:

data = ['**adjective:**', 'nice', 'kind', 'fine',
        '**noun:**', 'benefit', 'profit', 'advantage', 'avail', 'welfare', 'use', 'weal', 
        '**adverb:**', 'well', 'nicely', 'fine', 'right', 'okay'] 
Run Code Online (Sandbox Code Playgroud)

我能得到:

[{'**adjective**': ('nice', 'kind', 'fine'),
 '**noun**': ('benefit', 'profit', 'advantage', 'avail', 'welfare', 'use', 'weal'),
 '**adverb**': ('well', 'nicely', 'fine', 'right', 'okay')}] 
Run Code Online (Sandbox Code Playgroud)

python dictionary split list

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

SQL Server 2008架构更改的最佳实践

我正在寻找有关以下内容的信息:

将我的开发者数据库的模式更新到生产数据库的最佳实践是什么,或者甚至更简洁地进行数据库模式更改.

生产数据库是两个不同的ASP.NET网站的后端.

我们的架构更改过程非常强大,每个"迁移"实际上都是包含架构更改的.cs文件.然后,我们将使用ADO.NET对数据库应用模式更改.

我的问题更多的是关于数据库的连接性.

我应该停止访问数据库的两个网站吗?我想我应该.我应该将数据库置于单用户模式.看起来我应该这样,但我对此并不完全有信心.

我能错过什么?在涉及数据库架构更改之前,有什么东西在手中咬了你.

sql-server asp.net database-migration sql-server-2008 database-schema

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

为什么我的按钮输出WebForm_DoPostBackWithOptions?

当JavaScript被禁用时,我需要我的页面才能工作.但我的按钮输出onclick ="WebForm_DoPostBackWithOptions ...".当我设置CauseValidation ="false"时它会消失,但我需要验证.在什么情况下输出WebForm_DoPostBackWithOptions?我怎样才能解决这个问题?

javascript asp.net

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

部署asp.net mvc2时出现IIS错误

我正在尝试将一个wcf webhttp服务部署到IIS上.我正在运行Windows 7,IIS 7.5,VS2010.

步骤 - 创建项目WCF休息服务应用程序. - 将项目发布到localhost - 确保应用程序池是.net 4.0

但是,当尝试通过http:// localhost/HelloRest访问在(Default Web Site/HelloRest)发布的服务时

它给出了一个错误 -

错误摘要 HTTP错误500.19 - 内部服务器错误此配置部分不能在此路径中使用.当该部分被锁定在父级别时会发生这种情况.锁定是默认情况下(overrideModeDefault ="Deny"),或由locationMode ="Deny"或遗留allowOverride ="false"的位置标记显式设置.

在配置源 模块中,突出显示runAllManagedModulesForAllRequests ="true"

有什么我想念的吗?当我从vs执行服务工作正常.在globals.asax我有 -

RouteTable.Routes.Add(new ServiceRoute("PrintHelloWorld", new WebServiceHostFactory(), typeof(HelloRestService)));
Run Code Online (Sandbox Code Playgroud)

从vs2010执行时 http:// localhost:59404/PrintHelloWorld / 返回hello world.但是,一旦发表

http:// localhost/HelloRest/PrintHelloWorld也返回相同的错误.

编辑 找出解决方案. - 我在安装.net框架后安装了IIS.在命令行中执行asp.net注册工具 - 转到Windows\Microsoft.NET\Framework\v4.0.30319中的目录aspnet_regiis.exe -ir

现在它开始起作用了.

iis wcf iis-7.5 webhttp asp.net-mvc-2

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

强类型属性访问的扩展方法

我有以下类层次结构

class Test
{
    public string Name { get; set; }
}

class TestChild : Test
{
    public string Surname { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

无法改变Test类.我想写下面这样的扩展方法:

static class TestExtensions
{
    public static string Property<TModel, TProperty>(this Test test, Expression<Func<TModel, TProperty>> property)
    {
        return property.ToString();
    }
}
Run Code Online (Sandbox Code Playgroud)

能够以下列方式使用它:

class Program
{
    static void Main(string[] args)
    {
        TestChild t = new TestChild();
        string s = t.Property(x => x.Name);
    }
}
Run Code Online (Sandbox Code Playgroud)

但现在编译说

无法从用法中推断出方法"ConsoleApplication1.TestExtensions.Property(ConsoleApplication1.Test,System.Linq.Expressions.Expression>)"的类型参数.尝试显式指定类型参数.

我希望有类似mvc Html.TextBoxFor(x => x.Name)方法的东西.是否可以编写扩展以便如Main方法中所示使用?

c# lambda extension-methods expression strong-typing

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

如何在Visual Studio中的源代码管理资源管理器中跳转到文件

我喜欢解决方案资源管理器>右键单击> Visual Studio 2010的PowerCommands扩展的"打开包含文件夹"功能.我希望相当于"在源代码管理资源管理器中跳转到位置"功能.如何找到给定打开文件的TFS中的位置,或解决方案资源管理器中的文件(或者解决方案导航器中的文件是否具有Productivity Power Tools扩展)?

最好的答案是几次鼠标点击而没有键盘.下一个最佳答案是热键映射.

到目前为止,我找到的唯一解决方案是使用具有"在源代码管理中查找"功能的Productivity Power Tools扩展.可以右键单击结果列表中的文件"在Source Control Explorer中打开文件夹".此解决方案的缺点是需要多次点击,如果文件在不同文件夹中存在同名,则搜索结果可以匹配多个文件.

tfs visual-studio-2010

16
推荐指数
3
解决办法
8227
查看次数

如何保护.NET DLL

为您正在进行的项目保护DLL的最佳做法是什么?我有兴趣开发的某些DLL将具有数据访问层(DAL)和业务逻辑层(BLL)功能.可能有几个应用程序最终可以命中这些DLL来执行特定于业务的功能.

保护这些DLL的最佳方法是什么,以便它们只能由创建者的应用程序使用?

阻止未经授权使用DLL和防止可能的反编译的安全性都是可取的.

.net vb.net programming-languages

7
推荐指数
1
解决办法
3486
查看次数

如何使用C#正确卸载AppDomain?

我有一个应用程序加载我无法控制的外部程序集(类似于其他人创建和开发主应用程序使用的程序集的插件模型).它通过为这些程序集创建新的AppDomain来加载它们,然后在使用程序集完成后,主AppDomain将卸载它们.

目前,它简单地卸载这些程序集

try
{
    AppDomain.Unload(otherAssemblyDomain);
}
catch(Exception exception)
{
    // log exception
}
Run Code Online (Sandbox Code Playgroud)

但是,有时会在卸载过程中抛出异常CannotUnloadAppDomainException.根据我的理解,这是可以预料到的,因为由于非托管代码仍在执行或线程在finally块中的情况,子域AppDomains中的线程无法强制中止:

当线程调用Unload时,目标域将标记为卸载.专用线程尝试卸载域,并且域中的所有线程都将中止.如果线程没有中止,例如因为它正在执行非托管代码,或者因为它正在执行finally块,那么在一段时间之后,在最初调用Unload的线程中抛出CannotUnloadAppDomainException.如果最终无法中止的线程结束,则不会卸载目标域.因此,在.NET Framework 2.0版域中不保证卸载,因为它可能无法终止执行线程.

我担心的是,如果没有加载程序集,那么它可能会导致内存泄漏.如果出现上述异常,可能的解决方案是杀死主应用程序进程,但我宁愿避免这种激烈的行为.

我还在考虑重复卸载电话以进行一些额外的尝试.也许像这样的约束循环:

try
{
    AppDomain.Unload(otherAssemblyDomain);
}
catch (CannotUnloadAppDomainException exception)
{
    // log exception
    var i = 0;
    while (i < 3)   // quit after three tries
    {
        Thread.Sleep(3000);     // wait a few secs before trying again...
        try
        {
            AppDomain.Unload(otherAssemblyDomain);
        }
        catch (Exception)
        {
            // log exception
            i++;
            continue;
        }
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

这有意义吗?我是否应该再次尝试卸载呢?我应该尝试一次继续前进吗?还有什么我应该做的吗?此外,如果线程仍在运行,是否可以从主AppDomain完成控制外部程序集的任何事情(请记住其他人正在编写并运行此外部代码)? …

.net c# appdomain

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

Zoomable政治世界地图

我想在我的应用程序中添加一张地图,其中包含不同颜色国家,国家(美国)和省(加拿大)的世界地图.用户应该可以放大以查看详细信息,因为看到整个世界的比例不适合在欧洲看到细节.颜色需要从我的应用程序编程,因此简单的图像映射是不合适的.

显然,首先要看的是谷歌,但谷歌地图似乎无法对代码国家进行着色.Google Charts可以生成单个图像,但不可缩放.

我对谷歌有误,还是有其他方法可以用来制作合适的地图?它是rails应用程序上的一个ruby,所以任何特定于ruby的东西都很好,但理想情况下不是任何其他语言,但如果它是唯一的方法,那么它是唯一的方法.

google-maps

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

在C#中创建随机文件

我正在创建一个指定大小的文件 - 我不关心它中的数据,虽然随机会很好.目前我这样做:

        var sizeInMB = 3; // Up to many Gb
        using (FileStream stream = new FileStream(fileName, FileMode.Create))
        {
            using (BinaryWriter writer = new BinaryWriter(stream))
            {
                while (writer.BaseStream.Length <= sizeInMB * 1000000)
                {
                    writer.Write("a"); //This could be random. Also, larger strings improve performance obviously
                }
                writer.Close();
            }
        }
Run Code Online (Sandbox Code Playgroud)

这不是有效的,甚至是正确的方法.更高性能的解决方案?

感谢所有的答案.

编辑

对2Gb文件的以下方法进行一些测试(以ms为单位的时间):

方法1:Jon Skeet

byte[] data = new byte[sizeInMb * 1024 * 1024];
Random rng = new Random();
rng.NextBytes(data);
File.WriteAllBytes(fileName, data);
Run Code Online (Sandbox Code Playgroud)

N/A - 2Gb文件的内存不足

方法2:Jon Skeet

byte[] data = …
Run Code Online (Sandbox Code Playgroud)

c# performance createfile

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