小编nzo*_*dlo的帖子

在Web API 2和.NET 4.5.1迁移之后,GlobalConfiguration.Configure()不存在

我最近开始按照本指南将我的项目迁移到.NET 4.5.1和Web Api 2.

MS开发人员Rick Anderson要求你做的第一件事就是改变:

WebApiConfig.Register(GlobalConfiguration.Configuration);
Run Code Online (Sandbox Code Playgroud)

GlobalConfiguration.Configure(WebApiConfig.Register);
Run Code Online (Sandbox Code Playgroud)

在global.asax文件中.然而,当我尝试构建时,这给了我一个错误:

错误1'System.Web.Http.GlobalConfiguration'不包含'Configure'的定义

我的项目目前是MVC 5和Web Api 2和.NET 4.5.1,但我认为System.Web.Http仍然认为它是.NEt 4.0版本.

我该怎么办呢?

谢谢.

编辑:

这是我的程序集绑定:

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
  </dependentAssembly>
  <!--
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
  </dependentAssembly> -->
</assemblyBinding>
Run Code Online (Sandbox Code Playgroud)

顶部评论后评论的所有内容都因为我收到了错误:

警告2发现无法解析的同一依赖程序集的不同版本之间发生冲突.当日志详细程度设置为详细时,这些引用冲突将在构建日志中列出.

并且摆脱硬绑定正在解决这个问题.

c# asp.net-4.5 asp.net-web-api asp.net-mvc-5

143
推荐指数
6
解决办法
15万
查看次数

eclipse tomcat 7.0

我正在尝试在Eclipse中设置Apache Tomcat 7.0服务器,但我无法让向导让我创建它.我选择Tomcat v7.0之后,我的NEXT按钮不会突出显示:

在此输入图像描述

我没有尝试创建任何其他版本的Tomcat,只是v7.0:

在此输入图像描述

关于我的系统的信息: - 我以前已经启动并运行了,但是我不得不重新启动我的系统,Eclipse不受影响,因为它在不同的硬盘上 - 我重新安装了Tomcat 7.0两次,一次到驱动器包含这个特定的Eclipse工作区,一次到我的主OS驱动器,都无济于事.

谁能告诉我这里我做错了什么或者这里发生了什么?

非常感谢你.

eclipse tomcat7

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

我怎样才能使用SIGINT来摆脱wait()或read()的等待?

我目前正试图通过使用信号(在这种情况下为SIGINT)来摆脱wait()和/或write()的等待.我的程序没有按预期离开.

void sigHandler(int signal ){

    printf(" Exit\n");

    //x is global
    x = 1;

    return;

}
Run Code Online (Sandbox Code Playgroud)

我从主要的剪断我被挂断主要是:

 clientfd = accept( sockfd, (struct sockaddr *) &client_addr, (unsigned int *) &client_addr_len );
Run Code Online (Sandbox Code Playgroud)

当我点击这个并使用我的信号并返回时,我仍然停留在这行代码上,等待用户连接到我的套接字.处理程序中的x是针对外部循环的这段代码所在.

有没有更好的方法来做我想做的事情?另外,如果这还不够,请告诉我.

谢谢.

编辑:

这是对信号的检查,它回到了主要的顶部.我认为这就是你要求的:

if ( signal( SIGINT, signalhandler ) == SIG_ERR ){
    return( 1 );
}
Run Code Online (Sandbox Code Playgroud)

c sockets sigint

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

在用fgets()填充后,如何从我的字符串数组中删除换行符"\n"?

我正在使用的数组是:

char arr[91][12];
Run Code Online (Sandbox Code Playgroud)

所以我使用for循环从文件填充我的数组,如下所示:

for(i = 0; fgets(arr[i], 12, inFile); i++){}
Run Code Online (Sandbox Code Playgroud)

当我想从该数组中打印任何内容时,它会自动转义到下一行.

测试该数组:

for(i = 0; fgets(arr[i], 12, inFile); i++){
    printf("%s", arr[i]);
}

//one
//two
//three etc.

//want it to be 'one two three etc.'
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用strpbrk()来查找\n数组中的每个字符串并将其更改为\0:

for(i = 0; fgets(arr[i], 12, inFile); i++){
if(strpbrk(arr[i], "\n") != NULL ){
    arr[i][strpbrk(arr[i], "\n")] = '\0';
    }
printf("%s", arr[i]);
}
Run Code Online (Sandbox Code Playgroud)

但这给了我错误.有没有更好的方法来做我想做的事情?

c arrays string fgets char

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