网络服务超时
我部署了一项 Web 服务,该服务调用的函数需要花费 5 -6 个小时以上。我在我的 asp.net 页面上使用此 Web 服务,并且异步调用此 Web 服务。那么我应该如何增加Web服务超时呢?
I deployed one webservice which calls function which going take more than 5 -6 hours. I am using this webservice on my asp.net page and I am calling this webservice asynchronously. So how should I increase webservice time out?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您正在调用一个需要 5-6 小时才能完成的函数,您可能需要重新考虑您的架构。用户是否会坐在页面上等待 5 或 6 小时才能完成您的流程?可能不会。也许您可以让您的 Web 服务在完成后在数据库、xml 文件或其他一些数据存储中设置一个指示器。然后,在您的 asp.net 页面中,您可以单击按钮或完成其他一些操作来检查该指示器以查看该过程是否已完成。
If you are calling a function that takes 5-6 hours to complete, you may want to re-think your architecture. Would a user sit on the page and wait 5 or 6 hours for your process to finish? Probably not. Maybe you could have your web service set an indicator in a database, xml file or some other data store when it has completed. Then, in your asp.net page, you can click a button or complete some other action to check that indicator to see if the process has finished.
您需要将 Web.Config 中的executionTimout 设置为较大的值,例如:
executionTimeout 单位以秒为单位。
You need to chance the executionTimout in your Web.Config to something large like :
executionTimeout unit is in seconds.
如果您同意 Web 服务中的所有请求都具有较长的超时时间,则可以
设置Under
在 web.config 中
,其中 300 是您的超时时间(以秒为单位)但是,如 DevSlick 答案,您可能需要重新考虑您的架构,Web 服务不适合长时间运行的任务,您可能需要创建一个按计划运行的控制台应用程序。
If you are ok with all requests in your webservice having a long timeout, you can set
Under
in your web.config, where 300 is your timeout in seconds
However, as DevSlick answers, you may want to reconsider your archetecture, web services aren't meant for long running tasks, you may want to create a console application that runs on a schedule.