我的解决方案中有一个较旧的ASP.NET MVC 4项目.我刚刚安装了Visual Studio 2017 RC社区版(VisualStudio/public.d15rel/15.0.26020.0).我们一直在成功使用VS2015.
当我在VS2017RC中加载解决方案时,我收到错误:
The application which this project type is based on was not found.
Run Code Online (Sandbox Code Playgroud)
我在安装VS2017RC之后重新安装了ASP.NET MVC 4,但它没有帮助.
我计划将其升级到更新版本的ASP.NET MVC,但我希望同时使用VS2017.
在我的视图模型类中,我有一个名为的属性SerializedSelf,用于将自身表示为序列化字符串,也可以反序列化,但仅限于尚未初始化的任何属性.我使用它来通过使用具有此值的单个隐藏输入来简化视图模型的往返.在传递给控制器方法之前,框架将在模型中填充与模型相关的任何其他输入.
我遇到的问题是,在我的剃刀视图代码中,这不能正确呈现:
@Html.HiddenFor(model => model.SerializedSelf)
Run Code Online (Sandbox Code Playgroud)
我还没有确定它是否正在序列化一个完全未初始化的MyViewModel对象,或者它是否是来自其他地方的实例.
但这很正常:
<input type="hidden" name="SerializedSelf" id="SerializedSelf" value="@Model.SerializedSelf" />
Run Code Online (Sandbox Code Playgroud)
所以我猜它可能与lambda表达式和附件有关??? 当我在源代码中单步执行时,在SerializedSelf调用之前它具有正确的值return View("myView", model).
这是视图模型代码:
using Newtonsoft.Json;
using System;
using System.Text;
public class MyViewModel
{
[JsonIgnore]
public string SerializedSelf
{
get
{
return JsonConvert.SerializeObject(this);
}
set
{
if (string.IsNullOrWhiteSpace(value)) return;
string json = value;
MyViewModel copy = JsonConvert.DeserializeObject<MyViewModel>(json);
if (Message == null) Message = copy.Message;
if (Phone == null) …Run Code Online (Sandbox Code Playgroud) 如果.git文件夹中有些东西弄乱了并且无法修复,但是我想按原样保留工作文件夹,如何.git从远程存储库中“重置” 文件夹?
我有一个SignalR 2.1.1强类型集线器,客户端调用服务器集线器方法,在该方法中,广播被发送到客户端(在我的测试用例中,它只是被调用的调用者).
hub方法没有返回值(async public Task Test()).从服务器端看,hub方法似乎没有异常.在客户端,我得到Error: Failed at parsing response: {"C":"d-4336366B-A,0|B,1|C,2|D,0|E,0","M":[{和Clearing hub invocation callbacks with error: Connection was disconnected before invocation result was received.
在完全发送响应之前,似乎连接已终止.
问题出现在Windows 7上的Chrome中,但不会出现在IE 11中.
public class MessengerHub : Hub<IMessengerClient>, IMessengerHub
{
async Task IMessengerHub.TestActivityNotification()
{
ConnectionInfo info = _connectionInfo[_hub.Context.ConnectionId];
Activity activity = new Activity
{
ActivityId = Guid.NewGuid(),
ContactId = info.UserId,
DateTime = DateTime.UtcNow,
DeviceId = info.DeviceId,
Kind = ActivityKind.Message,
SubKind = ActivitySubKind.MessageSent
};
// This code is actually in …Run Code Online (Sandbox Code Playgroud)