上传文件的C#Web服务导致内部服务器错误

时间:2017-03-18 12:22:32

标签: c# asp.net web-services internal-server-error

我有一个用C#编写的Web Service应用程序。我希望它处理一个基本请求,即从表单中获取文件名和文件内容并将其保存到Web Service的工作目录中。 代码是:

[WebMethod]
    public void PutFile(byte[] buffer, string filename)
    {
        BinaryWriter binWriter = new BinaryWriter(File.Open(Server.MapPath(filename), FileMode.CreateNew, FileAccess.ReadWrite));
        binWriter.Write(buffer);
        binWriter.Close();
    }

当我通过在.asmx文件的目录中运行xsp来调用它时,我可以使用其他Web服务,例如添加两个数字等。但是当我调用PutFile方法时,我收到以下错误

  

500 - 内部服务器错误   System.ArgumentException:WebChangeTypeFailed   参数名称:type ---> System.FormatException:输入字符串的格式不正确。

并遵循一些功能错误。

我是使用.NET开发Web服务应用程序的新手,我不确定这个问题的原因。我查看了web.config文件,我没有注意到一些奇怪的东西。 web.config文件是:

    <?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation defaultLanguage="C#" debug="true">
      <assemblies>
        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      </assemblies>
    </compilation>
    <customErrors mode="RemoteOnly">
    </customErrors>
    <authentication mode="None">
    </authentication>
    <authorization>
      <allow users="*" />
    </authorization>
    <httpHandlers>
    </httpHandlers>
    <trace enabled="false" localOnly="true" pageOutput="false" requestLimit="10" traceMode="SortByTime" />
    <sessionState mode="InProc" cookieless="false" timeout="20" />
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
    <pages>
    </pages>
  </system.web>
</configuration>

有人可以帮忙吗?感谢。

0 个答案:

没有答案