我在将Web项目从RC1迁移到RC2时遇到了一些麻烦.当我切换时,我在整个项目中遇到了一堆这些错误.
类型'Func <,>'在未引用的程序集中定义.您必须添加对程序集'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用
看起来所有的linq函数和lambda表达式都不起作用.
这是我的project.json文件的样子:
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"System.Linq": "4.1.0-rc2-24027"
},
"imports": [ "net451", "portable-net45+win8" ]
}
},
"dependencies": {
"NETStandard.Library": "1.5.0-rc2-24027",
"Microsoft.EntityFrameworkCore": "1.0.0-rc2-final",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final",
"System.ComponentModel.Annotations": "4.1.0-*"
}
Run Code Online (Sandbox Code Playgroud)
这意味着什么?我试过跑步dotnet restore,没有帮助.
是否可以针对两个或更多策略应用授权?我使用的是ASP.NET 5,rc1.
[Authorize(Policy = "Limited,Full")]
public class FooBarController : Controller
{
// This code doesn't work
}
Run Code Online (Sandbox Code Playgroud)
如果没有,我如何在不使用政策的情况下实现这一目标 有两组用户可以访问此控制器:"完整"和"有限".用户可以属于"完整"或"有限",或两者兼而有之.它们只需要属于两个组中的一个以访问该控制器.
发布ASP.NET Web App后,我正在尝试在本地服务器上托管该网站.但是,当我启动它时,它在我的浏览器中给出了这个错误:
哎呀.500内部服务器错误启动应用程序时发生错误.
如何调试此错误是什么?在Visual Studio中开始使用IISExpress和"web"时,该网站可以工作(包括调试和发布配置).
我正在使用开发环境,我已经指定了app.UseDeveloperExceptionPage();.
我已按照此处的说明部署到IIS.
我也尝试了这里提供的建议(选择"删除发布前删除所有现有文件"重新发布).(OP有一个稍微不同的错误,所以这就是我发布一个新问题的原因.)
我在网上看了几个小时,但似乎没有太多关于它的内容.有任何想法吗?
我在Windows 7上,使用ASP.NET 5 RC1.
我有一个在IIS下托管的Web应用程序.它是一个数据仓库,在启动过程中需要在内存中实例化大量项目(大约需要20分钟才能完全设置).由于该网站对我们公司至关重要,因此该系统必须在白天100%在线,并且只能在下班时间重新启动.
出于某种原因,当一段时间没有使用时,这个Web应用程序似乎是"离线"的.我知道这一点,因为访问网站时缓存未完全实例化.这是无法接受的.
我不清楚为什么该网站被关闭.应用程序池仅设置为每天凌晨4:00(现在是上午11点)进行回收.
是否有其他设置,我不知道IIS部分导致它自动关闭网站?
Addl注意:在Visual Studio 中的IISExpress中运行时,网站不会自动关闭.只有IIS上托管的生产版本才会关闭.
这是运行网站的应用程序池的高级设置屏幕.(不确定它是否有用.)
我在IIS 7.5,Server 2008 R2上.它是一个ASP.NET 5 Web应用程序.
我在VS2015中创建了一个新的"ASP.NET核心Web应用程序(.NET核心)"项目.它没有任何问题,所以我想给它一个测试运行.但是,启动时,它会因以下错误而被阻塞并崩溃:
Exception thrown: 'System.AggregateException' in Microsoft.AspNetCore.Server.Kestrel.dll
The program '[11608] dotnet.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'.
The program '[15048] iisexpress.exe' has exited with code 0 (0x0).
Run Code Online (Sandbox Code Playgroud)
我没有看到任何其他记录.我试过调试它,而我发现的是它WebHostBuilder.Run()在Program课堂上的方法中崩溃了.它是框架的一部分,所以我无法进一步发展.
请注意,通过dotnet run命令运行时程序运行正常.只有IISExpress不起作用.
我该如何调试此问题?
project.json文件如下.(它是由Visual Studio生成的,我没有改变任何东西.)
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0-rc2-3002702",
"type": "platform"
},
"Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview1-final",
"type": "build"
},
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
"Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc2-final"
}, …Run Code Online (Sandbox Code Playgroud) 回到ASP.NET核心RC1,支持完整的.NET 4.5框架,我一直在使用Oracle Managed Client连接到Oracle数据库.
在RC2和RTM中,不支持完整的.NET框架,而只支持.NET标准.这意味着Oracle Client不再与.NET Core兼容.
在连接Oracle数据库时是否有其他选择?
也许我不了解VirtualFileResult是什么,但是我不确定为什么文件存在时为什么抛出FileNotFoundException。这是代码:
if (System.IO.File.Exists(fileName))
{
FileInfo info = new FileInfo(fileName);
return File(fileName, FileUtility.GetContentType(fileName), info.Name);
}
Run Code Online (Sandbox Code Playgroud)
(编辑:(FileUtility.GetContentType正确)返回文件的Mime类型,以我为例"application/pdf"。)
这是我得到的异常:(我删除了文件路径)
System.IO.FileNotFoundException: Could not find file: [file path removed]
File name: '[file path removed]'
at Microsoft.AspNet.Mvc.VirtualFileResult.<WriteFileAsync>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at Microsoft.AspNet.Mvc.Controllers.FilterActionInvoker.<InvokeResultAsync>d__56.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at …Run Code Online (Sandbox Code Playgroud) 我有一个对象集合,我想检索所有其属性与搜索字符串匹配的对象.到目前为止,我已经尝试了一些过滤方法,即List.ForAll,IEnumerable.Where和ParallelQuery.Where.
List<Foo> cache = GetAllObjs(); // source list containing lots of objects
Run Code Online (Sandbox Code Playgroud)
选项1:
List<Foo> foos = cache.AsParallel().Where(x => x.Name == "bar").ToList();
Run Code Online (Sandbox Code Playgroud)
选项2:
List<Foo> foos = cache.Where(x => x.Name == "bar").ToList();
Run Code Online (Sandbox Code Playgroud)
选项3:
List<Foo> foos = cache.FindAll(x => x.Name == "bar");
Run Code Online (Sandbox Code Playgroud)
因为ParallelQuery.Where使用多个内核,所以它似乎是最快的解决方案.除了这些之外,是否还有其他过滤方法,例如使用不同的集合类型或过滤功能?源集合不必是List.
有没有办法检索ASP.NET 5 Web应用程序的产品版本?
这就是我的意思project.json:
"version": "4.0.0-alpha1"
Run Code Online (Sandbox Code Playgroud)
我怎样才能从应用程序中检索它?我曾经能够在较旧的ASP.NET版本上执行此操作:
System.Reflection.Assembly.GetExecutingAssembly().GetName().Version
Run Code Online (Sandbox Code Playgroud)
但是,现在它只是给了我0.0.0.0一些时间.有任何想法吗?