小编Max*_*oro的帖子

.NET 4.0有一个新的GAC,为什么?

%windir%\Microsoft.NET\assembly\是新的GAC.这是否意味着现在我们必须管理两个GAC,一个用于.NET 2.0-3.5应用程序,另一个用于.NET 4.0应用程序?

问题是,为什么?

.net gac .net-4.0

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

请求的表单身份验证失败.原因:提供的故障单已过期

我的事件日志充满了这条消息:

请求的表单身份验证失败.原因:提供的故障单已过期.

我认为当人们超时而非注销时会发生这种情况.

首先,这不是一个错误,它是 Type: Information

我不想要这些信息,如何阻止ASP.NET记录它?

我的应用程序不是web-farmed,而是使用静态机器密钥.

.net asp.net

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

你能构建一个RESTful业务逻辑层吗?

我为我的架构的数据访问层(DAL)构建了一个RESTful服务:

POST http://example.com/data/User
GET|PUT|DELETE http://example.com/data/User/{UserId}
Run Code Online (Sandbox Code Playgroud)

但是,对于业务逻辑层(BLL),使用第二个非RESTful服务:

POST http://example.com/accountapi/register
POST http://example.com/accountapi/login
Run Code Online (Sandbox Code Playgroud)

这个BLL服务不是直接调用DAL服务,而是直接与数据库对话.

你会如何改进这种架构?

  1. BLL服务应该调用DAL服务吗?
  2. 我应该放弃DAL服务并仅公开BLL服务吗?
  3. 我应该以某种方式在我的RESTful DAL服务上注入业务逻辑吗?如果有,怎么样?

architecture rest web-services

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

ASP.NET路由:令牌之间的文字子段,以及带有来自文字子段的字符的路由值

我问的原因是因为IIS保护某些ASP.NET文件夹,如Bin,App_Data,App_Code等.即使URL没有映射到实际的文件系统文件夹,IIS也会拒绝路径段等于其中一个的URL提到的名字.

这意味着我不能有这样的路线:

{controller}/{action}/{id}
Run Code Online (Sandbox Code Playgroud)

...其中id可以是任何字符串,例如

Catalog/Product/Bin
Run Code Online (Sandbox Code Playgroud)

因此,我没有禁用此安全措施,而是愿意在id之前使用后缀更改路由,如下所示:

{controller}/{action}_{id} // e.g. Catalog/Product_Bin
{controller}/{action}/_{id} // e.g. Catalog/Product/_Bin
Run Code Online (Sandbox Code Playgroud)

但是如果id包含新的分隔符,这些路由将不起作用,在这种情况下,例如

// These URL won't work (I get 404 response)
Catalog/Product_Bin_
Catalog/Product/_Bin_
Catalog/Product/__Bin
Run Code Online (Sandbox Code Playgroud)

为什么?我不知道,对我来说就像一个小虫.如何使这些路由工作,其中id可以是任何字符串?

asp.net iis routing asp.net-routing

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

C#到C#,方便的语言功能

我想了解C#的所有便利功能,以及它们如何映射到C#.

例如,自动属性:

public string Foo { get; set; }
Run Code Online (Sandbox Code Playgroud)

...映射到这样的东西:

string <Foo>k__BackingField;

[CompilerGenerated]
public string Foo {
   get { return this.<Foo>k__BackingField; } 
   set { this.<Foo>k__BackingField = value; } 
}
Run Code Online (Sandbox Code Playgroud)

Foreach循环:

foreach(char c in "Hello") {
   Console.WriteLine(c);
}
Run Code Online (Sandbox Code Playgroud)

......映射到这样的东西(我想):

CharEnumerator en;

try {

   en = "Hello".GetEnumerator();

   while (en.MoveNext()) {
      char c = en.Current;

      Console.WriteLine(c);
   }

} finally {

   IDisposable disp = en as IDisposable;

   if (disp != null)
      disp.Dispose();
}
Run Code Online (Sandbox Code Playgroud)

foreach在处理非托管资源时,处理枚举器非常有用,例如循环文件中的行或数据库中的记录.

我认为对这些高级功能的良好理解可以帮助我们编写更好的代码.C#的其他便利功能有哪些?它们如何映射到C#?

.net c#

11
推荐指数
5
解决办法
1231
查看次数

空字符串的目的是什么?

对我来说,作为开发人员和用户,我发现空字符串("")无用且引起很多混乱,就像说string == char []

也许计算机需要空字符串,所以我想了解原因.

也可以看看:

.net c# java language-agnostic programming-languages

10
推荐指数
4
解决办法
1371
查看次数

C#中的参数名称是否会发生变化?

我读了几篇文章说,通过在C#3.0中引入命名参数,参数名称现在是公共合同的一部分.这是真的,它到底意味着什么?我运行了一个简单的测试,在MyLib.dll中更改参数名称没有破坏使用原始名称的命名参数调用该方法的MyApp.exe,我认为因为C#编译器在编译时执行了重载决策,并且生成了IL对参数名称一无所知.这就是反汇编代码在Reflector上看到的内容:

private static void Main()
{
    bool CS$0$0000 = true;
    Class1.DoSomething(CS$0$0000);
    Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud)

......这是原始的源代码:

static void Main() {

    MyLib.Class1.DoSomething(a: true);

    Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud)

.net c#

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

ASP.NET MVC 2中是否可以嵌套区域?

我想创建一个嵌套区域的项目结构.例如,我有一个"Home"区域,在这下面我想要"新闻"区域来处理它自己的路线注册,并且当路线指向"新闻"区域中的控制器时将正确查找视图.通过将"新闻"区域名称更改为"主页/新闻"而不是简单地"新闻",可以找到正确的视图.在主要的Global.asax.cs中,我实例化所有区域("Home"和"News")并单独注册它们,因为RegisterAllAreas()函数只找到一层深的区域(即它只找到并注册"Home" "地区".

有没有其他人尝试类似的东西?这是一个主要的黑客攻击还是一个稳定的长期解决方案?您提供的任何建议都非常感谢.

.net asp.net-mvc asp.net-mvc-areas asp.net-mvc-2

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

什么是命名布尔属性的FDG?

命名布尔属性的框架设计指南是什么?如果没有,那你的建议是什么?

假设我有一个User类,我需要一个属性来指定用户是否启用.这些是我能想到的选择:

  • 启用
  • 启用
  • 的IsEnabled
  • 禁用
  • 被禁用

此外,如果BL说,用户必须在默认情况下禁用和启用明确,我应该更喜欢"启用"的变化,考虑到默认值System.Booleanfalse

.net c# design-guidelines

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

为什么在从泛型类型继承时,我必须使用parent-type-qualify来使用嵌套类型?

考虑一下:

[SomeAttr(typeof(Bar))]
class Foo {

   class Bar {

   }
}
Run Code Online (Sandbox Code Playgroud)

...还有这个:

class Foo : ISomething<Bar> {

   class Bar {

   }
}
Run Code Online (Sandbox Code Playgroud)

第一个例子编译,第二个例子没编译.要在继承泛型类型时使用嵌套类型引用,我必须使用父类型名称限定它:

class Foo : ISomething<Foo.Bar> {

   class Bar {

   }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么?当从父类型(第一个例子)中的属性引用时,为什么不适用此限制?

c#

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