Web服务需要很长时间才能第一次运行
问题描述:
我是编写和部署Web服务的新手,我有一个Web服务,当我从C#应用程序运行它时,需要4-8秒才能响应第一个调用。随后的通话在半秒范围内。如果我从Internet Explorer调用Web服务,它会立即返回。Web服务需要很长时间才能第一次运行
我的Web服务是在Windows Web服务器2008服务器上运行的Soap Web服务。我一直在寻找一个解决方案好几天,没有任何我尝试过的帮助。已经尝试过的两件看起来不起作用的事情是预编译XmlSerializers(生成序列化程序集处于打开状态)并使用aspnet_compiler预编译Web服务。 aspnet_compiler的输出复制到服务器并粘贴到相应的文件夹中。
我的应用程序使用添加Web引用向导时创建的自动生成代码Web引用代码来调用Web服务。
有什么我可以尝试吗?
答
一个常见的罪魁祸首是检查发布者证据(基本上,程序集签名)的缺乏开放连接到互联网。
尝试添加下面一行到你的ASPNET.CONFIG或app.config文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
见背景,并详细介绍网上的文章,例如
+0
我试着对两个文件进行建议的更改,但我仍然看到延迟 – user1322742 2012-04-11 21:13:46
你怎么通过调用Internet Explorer中的Web服务是什么意思?你的网络服务在做什么? – mellamokb 2012-04-09 21:49:12
此WCF是否托管在IIS中?如果是这样,你应该添加这些标签。 – CodingWithSpike 2012-04-09 22:00:04
我的意思是说,我把网络服务的URL放到了浏览器中,它给出了我可以运行的方法列表。然后,我选择一个将字符串作为输入并返回字符串的方法。 – user1322742 2012-04-09 22:07:35