上载文件的C#Web服务出现内部服务器错误

上载文件的C#Web服务出现内部服务器错误,c#,asp.net,web-services,internal-server-error,C#,Asp.net,Web Services,Internal Server Error,我有一个用C#编写的Web服务应用程序。我希望它能够处理一个基本的请求,即从表单中获取文件名和文件内容,并将其保存到Web服务的工作目录中。 代码是: [WebMethod] public void PutFile(byte[] buffer, string filename) { BinaryWriter binWriter = new BinaryWriter(File.Open(Server.MapPath(filename), FileMode.Creat

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

[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>


有人能帮忙吗?谢谢。

您的应用程序是否具有该目录的写入权限?@S.Petrosov是的。但我不认为这是原因。因为当我简单地返回时,它会给出错误,而不执行语句。我认为这个问题与函数参数有关。如果您有源文件名和行号,则会有所帮助。或者至少调用堆栈的更多部分。运行调试生成并尝试精确定位位置。这个文件有多大?@user3035291你能分享一下这个函数的callI代码吗?我想你需要为web方法设置合适的属性。你可以看看这个: