在Windows Server 2003上配置Web服务

时间:2010-09-29 21:46:09

标签: c# web-services windows-server-2003

我们最近已经从在线托管服务提供商转移到本地服务器,我们目前正在尝试使用网络服务建立一个.net网站,并且遇到了困难。

我们在IIS上运行了两个网站(在Windows Server 2003中) - 一个是我们从用户那里获得输入的实际网站,另一个是运行我们与数据库交谈的Web服务/处理逻辑等。 ..

目前我们可以显示主网页但是一旦访问网页服务,就会收到以下404错误:

  

请求失败,HTTP状态为404:Not Found。

     

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

     

异常详细信息:System.Net.WebException:请求失败,HTTP状态为404:Not Found。

     

来源错误:

     

第1120行:> [System.Web.Services.Protocols.SoapDocumentMethodAttribute(“http:// localhost:58605 / Dev_GetVersion”,RequestNamespace =“http:// localhost:58605”,ResponseNamespace =“http:// localhost:58605“,Use = System.Web.Services.Description.SoapBindingUse.Literal,ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]   第1121行:公共字符串Dev_GetVersion(){   第1122行:object [] results = this.Invoke(“Dev_GetVersion”,new object [0]);   第1123行:return((string)(results [0]));   第1124行:}

     

源文件:c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ b0534295 \ 1f56ee4c \ App_WebReferences.mjxicnrr.0.cs Line:1122

     

堆栈追踪:

     

[WebException:请求失败,HTTP状态为404:未找到。]      System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage消息,WebResponse响应,流responseStream,布尔asyncCall)+431289      System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object []参数)+204      c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ b0534295 \ 1f56ee4c \ App_WebReferences.mjxicnrr.0.cs:1122中的IPASWebServices.AccountManagementServices.Dev_GetVersion()      c:\ www_ipas \ MasterPage.master.cs中的MasterPage.displayVersionDetails():46      c:\ www_ipas \ MasterPage.master.cs中的MasterPage.Page_Load(Object sender,EventArgs e):28      System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e)+14      System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e)+35      System.Web.UI.Control.OnLoad(EventArgs e)+99      System.Web.UI.Control.LoadRecursive()+50      System.Web.UI.Control.LoadRecursive()+ 141      System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+627

     
     

版本信息:Microsoft .NET Framework版本:2.0.50727.3082; ASP.NET版本:2.0.50727.3082

我看到它正在尝试访问Web服务器,然后是方法(“http:// localhost:58605 / Dev_GetVersion”),但它忽略了实际的Web服务名称。 (它应该是“http:// localhost:58605 / AccountManagementServices.asmx?op = Dev_GetVersion”)。

知道为什么这样做吗?它在在线虚拟主机和开发计算机上运行得非常好,而不是在这个新环境中。

1 个答案:

答案 0 :(得分:0)

确保应用程序作为在IIS中具有适当权限的帐户运行。如果不确定,请确保该应用程序的帐户在IIS_WPG组中运行。

以下是有关正确设置IIS应用程序池标识的更多详细信息:http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/12a3d96c-65ea-4210-96ad-86a801f6a88c.mspx?mfr=true