这样,图就很清楚了。
但我有一些问题
当 process_request() 中间件出现异常时会发生什么?如何处理?会调用 response_middleware 吗?例如。如果异常进来process_view()的AuthenticationMiddleware,然后会process_response()的MessageMiddleware调用?
当 process_response() 中间件返回响应时会发生什么?例如。如果process_view()的AuthenticationMiddleware回报阶跃响应,然后会process_response()的MessageMiddleware调用?或者它会从折回AuthenticationMiddleware(即,它会调用process_response()的AuthenticationMiddleware,只是不会调用process_response()的MessageMiddleware)
我已经调试了 1.10 中使用新样式中间件类的 django 的行为,但我对旧MIDDLEWARE_CLASSES设置不熟悉?
对于 django 1.10:- 1) 如果process_request()forAuthenticationMiddleware返回响应,则process_template_response()和process_response()将被调用,如下图所示,用于所有中间件。
2) 如果process_request()forAuthenticationMiddleware引发异常,那么行为也将相同。
纠正我,如果我错了。
提前致谢。
python django django-middleware chain-of-responsibility request-response
软件架构中响应对象和 DTO 有什么区别?假设我想获取目录中的产品列表。
如果 ProductDTO 是这样,那么 Product Response 类有何不同?产品响应通常只是一个带有日期时间、错误日志或 GUID 的包装,或者主要区别是什么?如果没有确切的或多个答案,想听听业界的主要原因。
public class ProductDto
{
public int ProductId { get; set;},
public string ProductName { get; set;},
public string ProductDescription { get; set;},
public float SalesAmount { get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我尝试谷歌搜索这些答案,他们没有这个问题的具体答案,
对各种请求/响应类型重用 DTO 与明确需要什么/应该返回什么
更新:
试图验证答案。看来 Rahul 的答案是回答 Domain object 和 DTO 之间的区别。Thought Response 是 DTO 的包装,不确定是否正确 -
http://themoderndeveloper.com/the-modern-developer/requesting-a-response/
现在发布在这里:
我正在使用 Socket.io,我想知道是否有使用请求/响应模式的好方法。为每个请求使用 UUID,然后仅处理来自包含该 UUID 的响应的数据是最好的方法吗?这可能不是最可扩展的做事方式。
我知道基于事件与基于请求/驱动架构之间的根本区别。问题是基于请求的总是同步完成而基于事件的总是异步完成的吗?
此外,在 API 世界(请求-响应)中,如果请求消息无效,您通常会返回 400 http 代码。幸运的是,在 API 世界中,我们可以执行契约测试,使集成更加健壮。
除了将消息放入错误队列之外,在消息队列中处理此类似问题的最佳方法是什么?发布者服务或消费者服务是否有责任首先获得问题通知?
architecture messaging message-queue event-driven-design request-response
我很想了解 GCP 的 PubSub 的实现。尽管 Pubsub 似乎指向遵循发布-订阅设计模式,但它似乎比 AWS SNS(使用发布-订阅模型)更接近 AWS 的 SQS(队列)。为什么认为这是,GCP 的 pubSub
这让我怀疑 pub/sub 中的订阅是否仅仅是 SQS 的队列。我想听听你对这个比较的意见。混淆是由于缺乏 PubSub 的实现细节和明显的名称表明某种设计模式。
问候,
publish-subscribe amazon-sqs amazon-sns google-cloud-pubsub request-response
使用 NServiceBus 6 的回调功能,我发现无法提醒客户端请求处理程序失败。请求处理程序将经历所有可恢复性步骤,并最终将消息放入错误队列。同时,客户端只是坐在那里等待它的回复。
// Client code (e.g. in an MVC Controller)
var message = new FooRequest();
var response = await endpoint.Request<FooReponse>(message);
// Handler code
public class FooRequestHandler : IHandleMessages<FooRequest>
{
Task Handle(FooRequest message, IMessageHandlerContext context)
{
throw new Exception("Fails before the reply");
return context.Reply(new FooResponse());
}
}
Run Code Online (Sandbox Code Playgroud)
在上述情况下,如何让 MVC 控制器/调用代码知道处理程序已永久失败?
error-handling callback nservicebus nservicebus6 request-response
我使用Charles来拦截请求和响应很长一段时间,但当我尝试谷歌像素定位Android奥利奥,它一直给我握手异常.我知道他们已经完成了一些关于网络安全的改变.任何形式的帮助将不胜感激.
我一直在尝试使用 Django 运行客户端-服务器应用程序。当我尝试在 Django 中运行我的服务器时,它给了我以下错误。
django.core.exceptions.ImproperlyConfigured:包含的 URLconf '' 似乎没有任何模式。如果您在文件中看到有效模式,则问题可能是由循环导入引起的。
项目 urls.py -
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('chat.views')),
]
Run Code Online (Sandbox Code Playgroud)
应用程序的 views.py -
from django.shortcuts import render
from django.http import JsonResponse
def home(request):
if request.method == 'POST':
if request.is_ajax():
//code
return JsonResponse(data)
return render(request,'index.html')
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
architecture ×2
django ×2
python ×2
.net ×1
amazon-sns ×1
amazon-sqs ×1
android ×1
asp.net-core ×1
c# ×1
callback ×1
django-views ×1
http ×1
messaging ×1
node.js ×1
nservicebus ×1
nservicebus6 ×1
socket.io ×1
ssl ×1
websocket ×1