服务器上的ASP.NET Web Service解析器错误,而不是本地错误

时间:2011-10-16 10:49:27

标签: c# .net web-services deployment asmx

EDIT2

看起来我无法正常阅读,忽略这篇文章,我会尝试改为制作WCF服务。

谢谢

修改

好吧我好像应该开始学习MVC了。我尝试进入之前,当我无法使用它时,但也许我没有努力,因为我已经完成了我的网络服务,并且在我知道问题是否微不足道之前不想重新开始。

对于那些感兴趣的人:

我实际上要完成的是创建一个包含十几个不同高分表的数据库,我可以从我的Android应用程序中检索JSON。到目前为止,我有一个XML数据库和一个webmethod,用于询问某个得分是否在特定高分榜的前50名。一个用于提交您的分数,另一个用于检索应用中显示的整个高分。我还有一个简单的界面,用于从数据库中添加,删除等。

更新了问题: 如果我创建MVC项目,我是否可以重用我的一些代码?如何将所述项目放在服务器上?可以使用FTP客户端完成,还是需要使用Web Deploy,IIS或Web矩阵或其他软件?以及服务器的要求是什么?

非常感谢您的帮助:)

----------原帖--------------

最近,我一直在尝试学习如何在 Web应用程序中的Microsoft Visual Web Developer(2010年在win7 64bit上表达)创建Web服务。我有一些非常简单的JSON Web方法,当我从Visual Web Developer本地运行项目时,它就像一个魅力,它们返回正确的值等。

但是当我将项目转移到运行.NET 4.0的Windows服务器(这与我在这个项目中的目标框架相同)时,我再也无法访问Web服务了, .aspx 网页运行良好,但 .asmx Web服务显示以下错误:

(我只能发布两个超链接,所以我删除了这张图片)

第1行是.asmx文件中的唯一一行btw。我已尝试将Namespace.Classname放在那里,但错误仍然存​​在。 ( Test.DBWebService 而不仅仅是DBWebService)

我没有更改代码中的任何内容,这个确切的代码可以在我的计算机上运行。我尝试过帮助其他类似问题的东西,比如构建选项:

在运行启动页面之前:构建网站

目标框架: .NET 4.0

将网站构建为框架的一部分已检查

我认为应该像这样配置。

我的web.config看起来像这样:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation targetFramework="4.0"/>
    <customErrors mode="Off"/>
  </system.web>
  <appSettings>
  </appSettings>
  <system.serviceModel>
    <bindings/>
    <client/>
  </system.serviceModel>
</configuration>

这是Web服务的.cs文件,以及在本地工作但无法在服务器上访问的示例方法。

http://i.stack.imgur.com/4T6pq.png

有什么可能造成这个问题?我错过了一些重要的东西,因为我不是很有经验。我已经尝试了好几天完成这项工作,甚至问过我的网络托管公司,但他们说他们没有帮助编程相关的问题。

2 个答案:

答案 0 :(得分:0)

如果您刚刚学习网络服务,那么您应该立即停止。你犯了一个重大错误。

您正在使用“ASMX Web服务”,这项技术几乎已经过时。除非没有其他选择,否则不应使用ASMX进行新的开发。

您犯的另一个错误是使用网站“项目”。我强烈建议您不要将它们用于除简单网站之外的任何其他内容,并且您可能希望在任何情况下都为此目的避免使用它们。除此之外,他们还有这个确切的问题,当你认为他们应该构建它时,你没有构建你认为应该构建的东西。

使用“添加新项目”而不是“添加新网站”来改为使用Web应用程序项目。

答案 1 :(得分:0)

您问题的最可能原因是: - IIS中站点(应用程序)的错误配置。我的猜测是你正在部署到一个应用程序,但由于某种原因,应用程序没有正确创建,ASP.NET无法初始化二进制文件应该存在的/ bin文件夹 - IIS / ASP.NET配置错误。找到具有类似配置的另一台机器并检查您的站点。如果它正常工作,您可以返回并尝试查找/解决本地ASP.NET配置的问题。