回答关于SO 的最近一个问题,我遇到了这个异常现象.
这个msdn博客建议使用IIS生成机器密钥,这对我来说使用Microsoft工具看起来更安全.但是,似乎只有IIS 7或更低版本才支持此功能.
我在IIS 8.5的盒子上找不到它.我检查了IIS 7.5,它也不在那里.但是,我在同事箱中的IIS 6.1中找到了它.
我想知道是否:
它仍然存在于IIS最新版本中,如果是,如何使用它?
如果从最新版本的IIS中删除它,那么Microsoft提出了什么方法来生成足够安全的机器密钥?
使用这些定制发电机是否安全?
一个.机器密钥生成器(在线)
湾 ASP.NET machineKey Generator(你可以修改的工具)
对于一个新的开发项目,我从VS2012开始使用MVC4模板.我还添加了几个Nuget包,js和css.不可否认,将源作为新项目的起点而不是从空项目开始是错误的.
我正在考虑清理不需要的文件(NuGet参考,js,css,图像等)作为我想在当前冲刺中解决的技术债务.
在思考什么应该是最有效的方法,我搜索并发现许多绅士已经面临这种情况:
我已经阅读了这些建议,它们似乎首先是旧的,其次没有单一的解决方案,但我们必须为不同类型的文件使用不同的工具,例如css,image.
由于我使用的是Resharper 8.1,我检查了它是否适用于救援.它提供了一个解决方案级别的代码清理对话框,但它主要限于格式化(以及一些与FxCop相关的东西).
我很好奇是否有人最近面临并解决了这个挑战(最好使用某种工具)?
是否有可用于此任务的新工具?
如果没有可用的工具,你会怎么做?
在 ASP.NET MVC 中,当我们使用一些数据调用 post 操作时,我们会检查 ModelState,如果出现一些验证错误,它将是错误的。对于一个大的输入用户信息表单,展开每个值并查看计数以查看哪个键(附加示例图像中的 9 个)具有验证错误是很烦人的。想知道是否有人知道一种简单的方法来找出导致验证错误的元素。

我正在接受MVC routing frame work.我对RouteCollection.MapRoute方法所采用的参数感到有点困惑.
如果我采取了以下请求的传统示例
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
- List item
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
}
Run Code Online (Sandbox Code Playgroud)
它使用以下签名进行映射
public static Route MapRoute(
this RouteCollection routes,
string name,
string url,
Object defaults
)
Run Code Online (Sandbox Code Playgroud)
我的问题是关于"对象默认值",
new { controller = …几天前,当我想在项目中使用SignalR时,我使用Package Manager控制台安装了Microsoft.AspNet.SignalR.
安装包Microsoft.AspNet.SignalR
我找到了另一个更简单的解决方案,解决了在项目中不再需要SignalR的问题.我卸载了包:
卸载 - 打包Microsoft.AspNet.SignalR
运行上面的命令后,我注意到包Microsoft.AspNet.SignalR已从package.config文件中删除.
我假设包的任何更改都是在项目中进行的,它会使用uninstall命令自动清理.
但是,在我看到控制台日志中的一些错误后的第二天.
WebSocket连接到"WS://本地主机:61135/signalr /重新连接运输=的WebSockets&MESSAGEID = d-74CFF57F-B%2C0%7CF%2C0%7CD%2C0%7CG%2C1&clientProtocol = 1.5&connectionToken = moGkKaoibXu6xg4srnQoGTdxp3axLXQ5h5guoaVYP25MgSKutfN8D%2FyQcJhXamlWjnAhBDIPMjWUEoM9W3%2BP6SQcoQ98jwuiV7lox%2BMNfgyx2x0FOlj6 %2BO2PcQ%2Fl3WgwYsbQd7J%2FL1XFVe3yOvNuzw%3D%3D&connectionData =%5B%7B%22name%22%3A%22notificationhub%22%7D%5D&tid = 4'失败:WebSocket握手期间出错:意外响应代码:502
我觉得虽然我不再在JS中初始化集线器,但集线器初始化代码仍然在某处运行.我删除了作为添加SignalR的一部分添加的StartUp.cs.跑完应用程序,在浏览器上发现此错误.
然后我调查了我的代码库中还剩下什么,发现SignalR确实留下了很多依赖包和代码文件.
比较我的package.config文件,我有以下包安装命令的结果:
+ <package id="Microsoft.AspNet.SignalR.Core" version="2.2.0"
targetFramework="net45" />
+ <package id="Microsoft.AspNet.SignalR.JS" version="2.2.0"
targetFramework="net45" />
+ <package id="Microsoft.AspNet.SignalR.SystemWeb" version="2.2.0"
targetFramework="net45" />
+ <package id="Microsoft.Owin" version="2.1.0" targetFramework="net45" />
+ <package id="Microsoft.Owin.Host.SystemWeb" version="2.1.0" targetFramework="net45" />
+ <package id="Microsoft.Owin.Security" version="2.1.0" targetFramework="net45" />
Run Code Online (Sandbox Code Playgroud)
问题1
我是否必须逐个手动卸载这些软件包中的每一个?有什么捷径?
问题2
即使在卸载后,脚本文件夹中也有js文件,我不得不手动删除它.这真的需要吗?
jquery.signalR-2.2.0.js
jquery.signalR-2.2.0.min.js
Run Code Online (Sandbox Code Playgroud)
这是SignalR包的问题还是我在这次浪费情况下做错了什么?
在今天阅读这个问题并在过去自己犯同样的错误时,我想知道是否需要(由于默认约定?)我们必须将"Controller"后缀为从ControllerASP.NET MVC中的类派生的类名,为什么compliler会根本不抱怨?至少一个警告可以节省一些人的时间.
所以下面的代码不起作用:
public class Search : Controller
{
// GET: /Search/
public ActionResult List()
{
var model = new MyModel();
return View(model);
}
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
的问题和答案,所以我认为这是不准确的复制不回答我的两个问题.
我首先关注EF代码的视频.
我试图按照VS 2012控制台应用程序中的确切步骤操作,请参阅下面的代码,
class Program
{
static void Main(string[] args)
{
using (var context = new EftDbContext())
{
context.Blogs.Add(new Blog { Name = "ASP.NET" });
context.SaveChanges();
var blogs = from n in context.Blogs
orderby n.Name
select n;
foreach (var b in blogs)
{
Console.WriteLine(b);
}
}
}
public class Blog
{
public int BlogId { get; set; }
public string Name { get; set; }
public virtual List<Post> Posts { get; set; }
}
public class Post
{ …Run Code Online (Sandbox Code Playgroud)