我正在尝试向IIS发布一个.NET Core ASP.NET网站,我将其从RC2升级到RTM.
作为一个完整性检查,我成功地从Visual Studio 2015发布了模板/示例"ASP.NET核心Web应用程序(.NET Framework)"应用程序.
但出于某种原因,在发布RTM升级的应用程序时,我收到HTTP错误502.3 - 错误网关指定的CGI应用程序遇到错误,服务器终止了该进程.
该站点正在从Visual Studio运行IIS Express.
我该怎么调试呢?有人有主意吗?
web.config中
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath=".\MyApp.exe" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
project.json
{
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true,
"warningsAsErrors": true
},
"dependencies": {
"Microsoft.AspNetCore.Diagnostics.Elm": "0.1.0",
"Microsoft.AspNetCore.Authentication.Cookies": "1.0.0",
"Microsoft.AspNetCore.Authorization": "1.0.0",
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Hosting": "1.0.0",
"Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0",
"Microsoft.AspNetCore.Http.Extensions": "1.0.0",
"Microsoft.AspNetCore.Localization": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.AspNetCore.Routing": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.AspNetCore.Session": "1.0.0",
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.Extensions.Caching.SqlServer": "1.0.0", …Run Code Online (Sandbox Code Playgroud) 我正在写一个字符串,MemoryStream我需要将流返回到Controller Action,所以我可以将其作为文件发送下载.
通常,我将Stream包装在using语句中,但是,在这种情况下,我需要返回它.我退货后还能处理吗?或者我需要以某种方式自行处理它?
//inside CsvOutputFormatter
public Stream GetStream(object genericObject)
{
var stream = new MemoryStream();
var writer = new StreamWriter(stream, Encoding.UTF8);
writer.Write(_stringWriter.ToString());
writer.Flush();
stream.Position = 0;
return stream;
}
Run Code Online (Sandbox Code Playgroud)
Controller返回文件的Action:
[HttpGet]
[Route("/Discussion/Export")]
public IActionResult GetDataAsCsv()
{
var forums = _discussionService.GetForums(_userHelper.UserId);
var csvFormatter = new CsvOutputFormatter(new CsvFormatterOptions());
var stream = csvFormatter.GetStream(forums);
return File(stream, "application/octet-stream", "forums.csv");
//is the stream Disposed here automatically?
}
Run Code Online (Sandbox Code Playgroud) 我正在研究一个.net核心网络应用程序(针对net461).该应用程序需要引用COM DLL.
我添加了COM引用,应用程序仍然构建在我的开发机器上.但是,在构建服务器上,它无法使用此错误构建:
C:\ Program Files(x86)\ dotnet\sdk\2.0.0\Microsoft.Common.CurrentVersion.targets(2604,5):错误MSB4062:无法从"Microsoft.Build.Tasks.ResolveComReference"任务加载程序集Microsoft.Build.Tasks.Core
搜索了一下后,似乎这是一个非常罕见的错误.任何人都知道错误是什么和/或如何解决它?
更新:似乎dotnet CLI不支持COM引用.Visual Studio直接在后台使用msbuild,但在构建服务器上,我使用的是dotnet CLI命令.
解决方法:
对于一篇研究论文,我被指派研究用于计算矩阵行列式的最快算法.
我已经知道LU分解和Bareiss算法都在O(n ^ 3)中运行,但在做了一些挖掘之后,似乎有一些算法运行在n ^ 2和n ^ 3之间.
此源(参见第113-114页)和此源(参见第198页)表示存在一个在O(n ^ 2.376)中运行的算法,因为它基于Coppersmith-Winograd的乘法矩阵算法.但是,我还没有找到关于这种算法的任何细节.
我的问题是:
非常感谢.
algorithm complexity-theory matrix linear-algebra determinants
我正在使用带有CookieAuthentication的ASP.NET Core MVC.有没有办法可以立刻签署所有用户?我尝试重置IIS - 没有用.我尝试删除所有用户的会话(我使用数据库进行会话存储) - 没有用.
有任何想法吗?
我正在尝试更改我的.NET Core Web应用程序以使用x86版本的.NET Core SDK.
我从这里安装了x86版本.我可以在C:\ Program Files(x86)\ dotnet\sdk\1.0.0-preview2-003131中看到它
我将global.json更新为:
{
"projects": [ "src" ],
"sdk": {
"version": "1.0.0-preview2-003131",
"architecture": "x86"
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
该项目配置为使用.NET Core SDK版本1.0.0-preview2-003131,该版本未安装或无法在路径C:\ Program Files\dotnet下找到.构建和运行此项目需要这些组件.下载global.json中指定的.NET Core SDK版本,或将global.json中的SDK版本更新为已安装的版本.
我想我需要告诉我的应用程序查看C:\ Program Files(x86)\ dotnet
我该怎么做呢?
谢谢你的帮助!
我正在使用 System.Net.Mail.SmtpClient。
我建立我的MailMessage。IsBodyHtml设置为真。Body 是一些带有一些链接的 html。
有时,会发生一些奇怪的行为 - 将在其中一个链接中添加一个额外的句点。例如,链接将在 MailMessage 正文中设置为:
<a href="http://www.myapp.com/company/contact">Contact Us</a>
Run Code Online (Sandbox Code Playgroud)
但收到的电子邮件显示有一个额外的时期:
<a href="http://www.myapp..com/company/contact">Contact Us</a>
Run Code Online (Sandbox Code Playgroud)
真正奇怪的行为是有时将额外的时间段添加到不同的链接,有时根本不会添加!
这是 System.Net.Mail.SmtpClient 的错误吗?因为 MailMessage 中的正文在发送时没有额外的时间段:
_smtp.Send(message); //message.Body has no extra period during sending
Run Code Online (Sandbox Code Playgroud)
请注意,我正在使用DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectorywhich 将电子邮件写入文件。
更新:
我不认为这实际上修复了它,但是通过设置message.BodyEncoding = System.Text.Encoding.UTF8;,我似乎无法重现该错误。任何想法为什么可能已经修复了它?
在 Asp.Net core 中,当您将应用程序配置为app.UseSession(). 默认情况下,cookie 称为“.AspNetCore.Session”。它的值标识要使用的会话。目前,我将会话数据保存在 SQL 服务器上。我需要知道“.AspNetCore.Session”的解密值,以便我可以在数据库中查找会话。
有没有办法解密这个值?我知道 ASP.NET 必须以某种方式在幕后完成它。
我正在尝试设计我的风格 QDockWidget,使其在停靠和漂浮时具有边框。
我试过了:
QDockWidget
{
border: 5px solid purple;
}
Run Code Online (Sandbox Code Playgroud)
但这仅在浮动时产生边界。停靠后,边界就消失了。
我该如何解决?
在 ASP.NET MVC 4 中,我可以使用以下方法忽略某些路由:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{*old}", new {old=@"previous(/.*)?"});
}
Run Code Online (Sandbox Code Playgroud)
.NET Core 没有IgnoreRoute. 有没有办法在.NET Core 中实现这一点?也许一些自定义中间件?
asp.net asp.net-mvc asp.net-routing asp.net-core-mvc asp.net-core
asp.net-core ×7
asp.net ×4
c# ×4
.net-core ×3
.net ×2
asp.net-mvc ×2
algorithm ×1
determinants ×1
iis ×1
matrix ×1
memorystream ×1
qdockwidget ×1
qt ×1
smtp ×1
smtpclient ×1
streamwriter ×1
styles ×1