Aspnet.Core 上的 Swashbuckle 通常从方法签名中读取所需的参数,例如
[HttpGet]
[Route("/api/datasets/{id}")]
[SwaggerOperation("DatasetsIdGet")]
[SwaggerResponse(200, type: typeof(DataSet))]
public IActionResult DatasetsIdGet([FromRoute]string id)
{
string exampleJson = null;
var example = exampleJson != null ? JsonConvert.DeserializeObject<DataSet>(exampleJson) : default(DataSet);
return new ObjectResult(example);
}
Run Code Online (Sandbox Code Playgroud)
ID 来自路由,可通过 Swagger-UI 和生成的规范获得。
不幸的是,我必须上传一些非常大的文件,并希望禁用某个方法的表单绑定
public async Task<IActionResult> Upload()
{
// drain fields manually. see https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads
// assume that there is the field bigupload.
}
Run Code Online (Sandbox Code Playgroud)
使用 Swagger-Editor 我可以很容易地描述这个场景 - 但是我如何说服 Swashbuckle 这个方法有 bigupload 作为必填字段?
这是我基于 swashbuckle github 中的一个线程的解决方案
public class ImportFileParamType : IOperationFilter
{
/// <summary> …Run Code Online (Sandbox Code Playgroud) 我试图使用ASP.Net vNext,MVC,EF7和存储库模式(这里不是问题,我不认为)......
我遇到的问题是,当对数据库发出多个请求时,我收到以下错误:"已经有一个与此命令关联的打开的DataReader必须先关闭."
这是一些代码:
public class Startup
{
public IConfiguration Configuration { get; set; }
public Startup(IHostingEnvironment env)
{
Configuration = new Configuration().AddJsonFile("config.json").AddEnvironmentVariables();
}
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
// Register Entity Framework
services.AddEntityFramework(Configuration)
.AddSqlServer()
.AddDbContext<MyDbContext>();
services.AddSingleton<ILocationRepo, LocationRepo>();
services.AddSingleton<IStateRepo, StateRepo>();
}
public void Configure(IApplicationBuilder app)
{
app.UseMvc();
var testData = ActivatorUtilities.CreateInstance<TestData>(app.ApplicationServices);
testData.InitializeData();
}
}
Run Code Online (Sandbox Code Playgroud)
控制器:
[Route("api/[controller]")]
public class LocationsController : Controller
{
private readonly ILocationRepo _repo;
public LocationsController(ILocationRepo repo)
{
_repo = repo;
}
// GET: api/locations
[HttpGet]
public …Run Code Online (Sandbox Code Playgroud) dependency-injection repository-pattern asp.net-core-mvc asp.net-core
在之前的beta4和beta5中,我能够使用以下代码插入自定义RazorViewEngine:
services.AddMvc().Configure<MvcOptions>(options =>
{
options.ViewEngines.Clear();
options.ViewEngines.Add(typeof(MyViewEngine));
});
Run Code Online (Sandbox Code Playgroud)
但是在升级到beta6之后,现在它说MvcOptions上没有ViewEngines
我尝试通过DI添加它,就像这样:
services.TryAdd(ServiceDescriptor.Transient<IRazorViewEngine, MyViewEngine>());
Run Code Online (Sandbox Code Playgroud)
但没有运气.有谁知道实现这一目标的新方法是什么?
我在Windows 7上使用ASP.NET beta 7,VS 2015.
当我在面向.NET 4.6框架的VS2015中创建一个新的MVC6项目时,我的项目引用如下所示:
DNX 4.5.1
DNX Core 5.0
Run Code Online (Sandbox Code Playgroud)
我不希望为跨平台创建,并希望我的引用看起来像这样(来自其他教程):
ASP.NET 5.0
ASP.NET Core 5.0
Run Code Online (Sandbox Code Playgroud)
从ASP.NET 5.0文档:
我在VS 2015中看到的内容(dnx没有复选框选项):
我应该手动破解project.json文件吗?
"frameworks": {
"dnx451": { },
"dnxcore50": { }
},
Run Code Online (Sandbox Code Playgroud) asp.net visual-studio asp.net-core-mvc visual-studio-2015 asp.net-core
我刚刚开始使用MVC6(RC),已经创建了一个基于MVC6 RC标准模板的项目,并拼命尝试使JQuery-UI工作.我在我的一个视图中从JQuery-UI页面中取代了以下示例:
<script>
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"];
$("#tags").autocomplete({
source: availableTags
});
});
</script>
<div class="ui-widget">
<label for="tags">Tags:</label>
<input id="tags">
</div>
Run Code Online (Sandbox Code Playgroud)
显示标签(和"TextBox"),但自动完成功能不起作用(如果我输入某些文本,则没有任何反应).默认情况下安装JQuery(base)(在标准模板中).首先,我添加了JQuery-UI NuGet包(似乎是错误的).然后我在Bower中添加了JQuery-UI包(我认为应该是新的方式).
我也尝试添加引用:
<!-- jQuery UI CSS Reference -->
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
Run Code Online (Sandbox Code Playgroud)
在我看来(什么不解决问题).
在MVC 6(RC)项目中添加JQuery-UI并使示例正常工作的正确方法是什么?
更新为concret:
问题不在于上面的示例代码(没有错误)问题只是引用JQuery正确(在我的情况下为MVC6 RC).
因此,您可以在第一个答案中看到解决方案,特别是针对我的案例 - 在我自己的答案中.
是否可以在MVC6中实现[授权]过滤器。无论我尝试什么,都会收到错误消息:
找不到名称空间“ Authorize”的类型(您是否缺少using指令或程序集引用?)
我试图使用一堆命名空间,但是它们不存在或无效。
我真的很坚持这一点(并且通常使用过滤器),所以任何帮助将不胜感激!
我可以在Debug和Release模式下成功构建和运行我的项目.
但是,当我想发布到服务器共享文件夹或只是本地文件夹时,我在控制台中收到以下错误.
"'prepublish'脚本失败,状态码为34"
我正在使用Visual Studio 2015更新1. ASP.NET 5 RC 1 Update 1
这是我的发布选项
32位和64位选项都会产生相同的错误
web-deployment asp.net-core-mvc visual-studio-2015 asp.net-core
每次我用ASP.NET Core应用程序构建Dockerfile时,都会从web Nuget商店下载程序集.
基本上我想用所有这些ASP.NET核心库(可能还有一些我经常使用的库)创建docker镜像.
根据我的理解,我试图重塑GAC.
所以,我的问题是可以使用像GAC这样的ASP.NET Core吗?或者,我的第二个想法,将ASP.NET核心库下载到容器,然后以某种方式在本地解析它.
我的目标是减少构建docker容器的时间.
UPDATE
看起来这是不可能的
我试图从类库项目(.NET Core)添加对ASP.NET Core Web Application的引用,这将是我的Unit Tests项目.
我试图将测试项目降级到1.4但没有成功.
因此,我有一个新创建的netcore应用程序,它通过中间件设置链接到我的azure Active Directory帐户,如下所示:
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AutomaticAuthenticate = true,
AutomaticChallenge = true
});
app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions
{
AutomaticAuthenticate = true,
AutomaticChallenge = true,
ClientId = Configuration["Authentication:AzureAd:ClientId"],
Authority = Configuration["Authentication:AzureAd:AADInstance"] + Configuration["Authentication:AzureAd:TenantId"],
CallbackPath = Configuration["Authentication:AzureAd:CallbackPath"],
Events = new OpenIdConnectEvents
{
OnAuthenticationFailed = OnAuthenticationFailed,
OnAuthorizationCodeReceived = OnAuthorizationCodeReceived
}
});
Run Code Online (Sandbox Code Playgroud)
我的回调路径默认为“ CallbackPath”:“ / signin-oidc”,我在URL上的天蓝色符号为http:// localhost:20352 / ,回复URL为http:// localhost:20352 / signin-oidc
现在,我可以正常进行登录过程了,但是如果您按几次浏览器后退按钮,我将被炸死:
处理请求时发生未处理的异常。
例外:关联失败。位置不明
AggregateException:未处理的远程故障。(关联失败。)Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.d__5.MoveNext()
如何或在何处捕获此异常以进行相应处理?或导致此问题的中间件设置有问题。
上面的两个事件从未发生过。
编辑:可能有助于了解来自浏览器后退按钮的爆炸URL是“ http:// localhost:20352 / signin-oidc ”
这显然不存在为有效的控制器/动作路线
asp.net-core-mvc ×10
asp.net-core ×6
c# ×3
asp.net ×2
.net ×1
.net-core ×1
docker ×1
jquery ×1
jquery-ui ×1
swashbuckle ×1