在使用常规ASP.NET Web API多年后,我开始使用ASP.NET Core作为我的新REST API项目.我没有看到在ASP.NET Core Web API中处理异常的好方法.我试图实现异常处理过滤器/属性:
public class ErrorHandlingFilter : ExceptionFilterAttribute
{
public override void OnException(ExceptionContext context)
{
HandleExceptionAsync(context);
context.ExceptionHandled = true;
}
private static void HandleExceptionAsync(ExceptionContext context)
{
var exception = context.Exception;
if (exception is MyNotFoundException)
SetExceptionResult(context, exception, HttpStatusCode.NotFound);
else if (exception is MyUnauthorizedException)
SetExceptionResult(context, exception, HttpStatusCode.Unauthorized);
else if (exception is MyException)
SetExceptionResult(context, exception, HttpStatusCode.BadRequest);
else
SetExceptionResult(context, exception, HttpStatusCode.InternalServerError);
}
private static void SetExceptionResult(
ExceptionContext context,
Exception exception,
HttpStatusCode code)
{
context.Result = new JsonResult(new ApiResponse(exception))
{ …Run Code Online (Sandbox Code Playgroud) 我是Angular的初学者,我想知道如何创建Angular 5 文件上传部分,我试着找到任何教程或文档,但我什么都没看到.对此有何看法?我正在尝试ng4文件,但它不适用于Angular 5
我有一个ajax调用将数据传递给页面,然后返回一个值.
我已经从页面检索了成功的调用,但我编写了它,以便在asp中引发错误.我如何从jquery中检索该错误?
例如:
cache: false,
url: "addInterview_Code.asp",
type: "POST",
datatype: "text",
data: strData,
success: function (html) {
alert('successful : ' + html);
$("#result").html("Successful");
},
error: function (error) {
**alert('error; ' + eval(error));**
}
Run Code Online (Sandbox Code Playgroud)
这是我不理解的错误位.在函数中我需要放置什么参数,以便我可以使用我在服务器中引发的错误消息.
我正在使用ASP.NET Web API.
我想从API(API生成)下载带有C#的PDF.
我可以让API返回byte[]吗?对于C#应用程序,我可以这样做:
byte[] pdf = client.DownloadData("urlToAPI");?
Run Code Online (Sandbox Code Playgroud)
和
File.WriteAllBytes()?
Run Code Online (Sandbox Code Playgroud) 我有一个表单"fm",这是一个简单的信息窗口,每隔10分钟(fm.Show();)打开一次.
我如何能够每隔10分钟检查一下"fm"形式是否打开,如果它打开则将其关闭并再次打开!
现在表单fm总是被创建,form fm = new form();
所以当我尝试检查表单是否打开时,它将始终为false并打开一个新窗口,即使之前有一个表单!
我需要一个工具给它一个唯一的身份,然后检查这个具有唯一身份的表单是否被打开!
我不想只更新表单上的数据(fm),因为我有一个复杂的按钮信息.
表格名称是 "UpdateWindow"
解决使用以下内容:
__PRE__
如何在MVC webApi控制器操作中读取PUT请求中的内容.
[HttpPut]
public HttpResponseMessage Put(int accountId, Contact contact)
{
var httpContent = Request.Content;
var asyncContent = httpContent.ReadAsStringAsync().Result;
...
Run Code Online (Sandbox Code Playgroud)
我在这里得到空字符串:(
我需要做的是:弄清楚在初始请求中修改/发送了什么属性(意味着如果Contact对象有10个属性,并且我只想更新其中2个属性,我只发送和对象只有两个属性,这样的事情:
{
"FirstName": null,
"LastName": null,
"id": 21
}
Run Code Online (Sandbox Code Playgroud)
预期的最终结果是
List<string> modified_properties = {"FirstName", "LastName"}
Run Code Online (Sandbox Code Playgroud) 在MVC 5中,我有以下扩展方法来生成绝对URL,而不是相对的URL:
public static class UrlHelperExtensions
{
public static string AbsoluteAction(
this UrlHelper url,
string actionName,
string controllerName,
object routeValues = null)
{
string scheme = url.RequestContext.HttpContext.Request.Url.Scheme;
return url.Action(actionName, controllerName, routeValues, scheme);
}
public static string AbsoluteContent(
this UrlHelper url,
string contentPath)
{
return new Uri(url.RequestContext.HttpContext.Request.Url, url.Content(contentPath)).ToString();
}
public static string AbsoluteRouteUrl(
this UrlHelper url,
string routeName,
object routeValues = null)
{
string scheme = url.RequestContext.HttpContext.Request.Url.Scheme;
return url.RouteUrl(routeName, routeValues, scheme);
}
}
Run Code Online (Sandbox Code Playgroud)
ASP.NET核心中的等价物是什么?
UrlHelper.RequestContext 不复存在.HttpContext因为不再有静态HttpContext.Current属性. …我尝试通过遵循此MDSN演练来设置调试.NET源代码.符号缓存已正确设置,检查"启用.NET Framework源步进"也是如此.
但随后,每当我想进入.NET代码时,系统都会提示我指定相关cs文件的位置.错误消息是
You need to find <filename>.cs to view the source for the current call stack frame和The debugger could not locate the source file <filename>.cs.
我被提议浏览文件(但我没有它)或查看反汇编(但我不希望这样).
如何进入.NET源代码?
我正在尝试使用react-navigation来创建一个没有tabbar和header的初始LOGIN屏幕,一旦用户成功通过身份验证,就会导航到另一个名为LISTRECORD的屏幕,该屏幕有一个tabbar,header和no back按钮选项.任何人都有这方面的经验,可以分享?
总之,我试图通过反应导航实现的目标如下所述......
屏幕1:登录屏幕(无标题和标签栏)经过
身份验证...
屏幕2:LISTRECORD(标题,标签栏和无后退按钮)
标签栏还包含其他标签,用于导航到屏幕3,屏幕4 ...
我创建了一个基于角色的菜单,我按照本教程进行了操作.在该页面的某些位置,您将看到以下代码行:
String[] roles = Roles.GetRolesForUser();
Run Code Online (Sandbox Code Playgroud)
它返回当前登录用户的所有角色.我想知道如何使用新的ASP.NET身份系统实现这一目标?
它仍然是新的,没有太多可以找到它.
c# ×7
asp.net-core ×2
asp.net-mvc ×2
.net ×1
ajax ×1
angular ×1
debugging ×1
exception ×1
httpcontent ×1
jquery ×1
react-native ×1
roles ×1
typescript ×1
winforms ×1