小编Wil*_*Wil的帖子

关于名为属性的MVC控制器有什么特别之处吗?

在尝试解决这个问题多年之后,考虑路由冲突等等 - 我从一开始就开始了一个单独的项目.

当您尝试访问根站点(http://site/properties)时,看起来名为"属性"的MVC控制器始终返回403.14禁止消息- 但是,其他页面工作(http://site/properties/index).

它作为区域中的控制器工作正常,但是,我无法在主站点中创建它.

我想知道是否有人知道为什么以及最好的方法是什么?

c# asp.net-mvc controller asp.net-mvc-routing asp.net-mvc-5

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

如果加载(.NET)DLL,只执行函数的最佳方法?

我不确定解释这个问题的最好方法,如果您不明白,请留下评论.

基本上,我有一些库用于处理不同程序的各种任务 - 通知只是一个例子.

现在,我正在构建一个新程序,我希望它尽可能轻量级.虽然我想包含我的通知引擎,但我认为很多人不会真正使用它的功能,因此,我宁愿不在默认情况下包含它 - 只是作为可选下载.

我该怎么编程呢?

使用非托管Dll和P/Invoke,我基本上可以将整个批次包装在try/catch循环中,但我不确定托管版本.

到目前为止,我能想到的最好的方法是在启动时检查DLL文件是否存在,然后设置一个字段bool或类似的,每次我想要通知被触发,我可以做一个if /检查bool和火...

我从调试窗口看到DLL文件只在需要时加载.该程序显然会编译,因为项目可以看到所有组件,但是它会在没有DLL的最终用户机器上运行吗?

更重要的是,有更好的方法吗?

理想情况下,我希望在我的应用程序中没有任何关于通知的信息,并以某种方式使它如果下载DLL文件,它会在外部添加此功能.有一些额外的字节调用notification("blabla");(或类似的)真的不是世界末日,但是当我有更大的意图并且只想知道这类事情的最佳实践时,我正在考虑更多的事情.

c# dll

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

是否可以在自己的类中隐藏字段(或只是操纵/隐藏自动完成)?

我有一个(相当)复杂的文件与通常的组件混合.

我有一个字段(称为keyloaded)和一个链接属性(称为Keyloaded).

在课堂上工作时,我不小心直接操纵了场地而不是财产.

这很可能是因为我对这一切仍然有点新鲜(我现在进行三重检查!),但是,这已经是一个私人领域,除了与班级合作之外.是否有一些简单的我可以做到将其从自动完成中删除?

如果没有,类似情况的最佳做法是什么?

在写这个问题的时候,我突然想起了我的书,他们谈到了下划线......这是否是最好的解决方案 - 把它放在视线之外?

c# field properties visual-studio

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

MVC3/EF - 更改模型...数据库模式不匹配

我一直在关注ASP.Net电影数据库教程,一切顺利.

我刚刚更改了模型并添加了一个属性.叫我好奇,但我不想按照刚刚删除数据库的指南 - 我想看看我是否可以修改.

关于不匹配的正确错误 - 这是预期的.

我将评级列添加到数据库中,一切正常.

接下来,我删除了评级专栏,因为我想按照教程学习DropCreateDatabaseIfModelChanges- 然而,我只是得到了错误Invalid column name 'Ratings'.

在这段时间里,ModelHash条目没有改变,我不知道它是如何知道现在或之前存在差异的.

所以 - 1)我搞砸了什么?

2)我该如何解决?

3)在事情发生变化之前,它是如何知道的,但现在哈希没有改变时却没有?

4)您可以提供其他建议吗?

c# entity-framework ef-code-first

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

"...更新对象上下文时发生错误.ObjectContext可能处于不一致状态...."

在我的应用程序中,我有一个方法,我从代码调用数据库的种子,这很好.

我刚刚创建了一个新的大方法,它还为数据库添加了更多的数据.

当我调用它时,它第一次运行似乎工作正常,但是,如果我在上一次尝试的几分钟内再次运行它,我会收到以下错误:

已成功提交对数据库的更改,但更新对象上下文时发生错误.ObjectContext可能处于不一致状态.内部异常消息:AcceptChanges无法继续,因为对象的键值与ObjectStateManager中的另一个对象冲突.在调用AcceptChanges之前,请确保键值是唯一的.

我不确定如何解决这个问题,任何人都可以提出建议吗?(除了不要在最后一次尝试的几分钟内运行它!).

c# ef-code-first entity-framework-4.1

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

无法在Windows 8.1上安装LocalDB

我开发了一个使用SQL Server(特别是LocalDB)的应用程序,并且我刚将它推送到客户端.

客户端运行Windows 8.1 x64,但是,当我尝试直接从Microsoft安装x86或x64版本的SQL LocalDB时,我不断收到此错误:

Microsoft SQL Server 2014 Express LocalDB

安装此产品失败,因为此操作系统不支持此产品.有关支持的配置的信息,请参阅产品文档.

我有点卡在这里,并且,因为我在Windows 8.1开发机器上使用LocalDB而感到很困惑.

我该如何解决这个问题?

sql-server installation compatibility localdb windows-8.1

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

c#语法问题 - for循环和行尾

我目前正在学习c#并阅读几本书.我可以做很多事情,但是只能通过修改示例 - 我真的很沮丧,我实际上并不了解一些更基本的项目是如何工作的.

我刚刚完成了一个控制台应用程序,它接受参数并逐个显示它们.

代码是:

using System;

class test
{ static int Main(string[] argsin)
{ 

for (
        int i = 0; 
        i < argsin.Length; 
        i++
    )
Console.WriteLine("Argument: {0}", argsin[i]);
Console.ReadLine();
return -1;
}
}
Run Code Online (Sandbox Code Playgroud)

现在,这完全有效,但是来自Visual Basic的基本(没有双关语!)理解,如何/为什么它知道打印正确的参数然后继续下一个而不在第一个之后退出应用程序Console.WriteLine...我我觉得我已经错过了这个有效的基础知识!

接下来,为什么在for循环中,每行以分号结尾i++

我一直忘记不时添加它,然后当试图解决它为什么不编译时,我添加了一个我不想要的地方!

c#

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

为什么我不能从通用对象运行以下方法?

我(尝试)了解仿制药,我认为我理解它们.我有以下泛型类的代码:

    /// <summary>
    /// generics
    /// </summary>
    class Point<T> where T : IConvertible
    {
        public T X;


        NumberFormatInfo nf = NumberFormatInfo.CurrentInfo;

        public double Subtract(Point<T> pt)
        {
            return (X.ToDouble(nf) + pt.X.ToDouble(nf));
        }

    }
Run Code Online (Sandbox Code Playgroud)

Main(),我可以创建对象罚款:

        Point<int> pt = new Point<int>();
        Point<double> pt2 = new Point<double>();
        Point<string> pt3 = new Point<string>();

        pt.X = 10;

        pt2.X = 10;

        pt3.X = "10";
Run Code Online (Sandbox Code Playgroud)

现在,我可以Subtract在两个ints,doubles甚至strings 上运行Method ,但我不能运行混合,我认为我可以因为.ToDouble转换而运行.

如果我尝试运行,Console.WriteLine(pt.Subtract(pt2));我会收到以下错误:

Error   1   The best overloaded …
Run Code Online (Sandbox Code Playgroud)

c# generics syntax

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

MySql MySqlDataReader文档?

我需要在C#应用程序中使用MySql - 到目前为止,我的结果好坏参半.

我可以很好地连接和发出命令,但是,我正在处理输出和结果的实际问题.

我似乎无法找到坚定和良好的文档.我似乎能找到的唯一官方文档就在这里 - http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqldatareader.html

我最大的问题是我根本无法理解基础知识......

while (Reader.Read())
Run Code Online (Sandbox Code Playgroud)

文档并没有真正详细介绍它是如何工作的.

完成上述操作后,我看到了几个不同的示例,我可以通过以下方式提取数据

Console.WriteLine(Reader[0] + " - " + Reader[1]);
Run Code Online (Sandbox Code Playgroud)

要么

for (int i = 0; i < Reader.FieldCount; i++)
    Console.WriteLine(Reader.GetValue(i).ToString() + ",");
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法找到涵盖任何内容的文档,也不能完全理解正在发生的事情.

目前,我不想要特定的代码示例,我理想地想要链接到一些可靠的文档或(或者最好另外)对Reader.Read正在做什么以及另外两个代码示例的解释.

c# mysql

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

变量'<variablename>'隐藏封闭块中的变量

当从MSDN复制并粘贴一些示例代码时,我想出了标题中的错误 - 变量''隐藏了一个封闭块中的变量,

我复制的只是try循环的一个非常基本的例子.

正如它在建议中所说的那样"这个错误的一个常见原因是在事件处理程序中使用Catch e As Exception.如果是这种情况,请将Catch块变量命名为ex而不是e."

所以,我这样做,既改变了eex和它的工作,但是,我不明白为什么这不会导致同样的错误.

有人可以更好地解释错误是什么以及为什么导致它,而前者不是?

编辑 -

代码示例...

    Try
    Catch e As Exception
        msgbox(e.Message)
    End Try
Run Code Online (Sandbox Code Playgroud)

.

    Try
    Catch ex As Exception
        msgbox(ex.Message)
    End Try
Run Code Online (Sandbox Code Playgroud)

我不明白的是为什么第一个导致问题,而第二个不导致问题,对我而言,就像......使用上面的苹果,下面的苹果 - 说你不能在两个地方使用相同的东西然后将两者都改为橙子并突然让它发挥作用.当然第二个与第一个相同.

.net vb.net syntax-error

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