无法打开主机 WCF REST 服务

2024-01-07

我正在尝试实现一些 WCF 和 REST 服务来在我的服务器上上传文件,并且我找到了一些我正在尝试实现的代码,但尚未成功。

My code

class Program
{
    static void Main(string[] args)
    {

        string address = "http://localhost/UploadService/UploadService.svc/UploadFile/theFile.txt";
        HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(address);
        req.Method = "POST";
        req.ContentType = "text/plain";
        Stream reqStream = req.GetRequestStream();
        string fileContents = "the quick brown fox jumped over the lazy dog.";
        byte[] bodyContents = Encoding.UTF8.GetBytes(fileContents);
        reqStream.Write(bodyContents, 0, bodyContents.Length);
        reqStream.Close();

        HttpWebResponse resp;
        try
        {
            resp = (HttpWebResponse)req.GetResponse();
        }
        catch (WebException e)
        {
            resp = (HttpWebResponse)e.Response;
        }
        Console.WriteLine("HTTP/{0} {1} {2}", resp.ProtocolVersion, (int)resp.StatusCode, resp.StatusDescription); 

    }

}

public class UploadService : IUploadService
{

    #region IUploadService Members

    public void UploadFile(string fileName, Stream fileContent)
    {
        using (StreamReader fileContentReader = new StreamReader(fileContent))
        {
            string content = fileContentReader.ReadToEnd();
            File.WriteAllText(Path.Combine(@"c:\temp", fileName), content);
        }
    }  

    #endregion
}

[ServiceContract]
public interface IUploadService
{
    [OperationContract]
    [WebInvoke(UriTemplate = "UploadFile/{fileName}")]
    void UploadFile(string fileName, Stream fileContent);  
}

网页配置

<system.serviceModel>
  <services>
    <service behaviorConfiguration="ServiceBehavior" name="UploadService">
      <endpoint address="" binding="webHttpBinding" contract="IUploadService" behaviorConfiguration="RestBehavior">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    </service>
  </services>
  <behaviors>
    <serviceBehaviors>
      <behavior name="ServiceBehavior">
        <serviceMetadata httpGetEnabled="false" />
        <serviceDebug httpHelpPageEnabled="false" includeExceptionDetailInFaults="false" />
      </behavior>
    </serviceBehaviors>
    <endpointBehaviors>
      <behavior name="RestBehavior">
        <webHttp/>
      </behavior>
    </endpointBehaviors>
  </behaviors>
</system.serviceModel>

目前,在回应中resp = (HttpWebResponse)req.GetResponse();我正进入(状态:

远程服务器返回错误:(400) 错误请求。

我应该怎么做才能解决这个问题?


您正在从托管服务的同一进程发出服务请求。我认为它们应该分开,例如您的服务主机在控制台应用程序中,而您的测试在另一个控制台应用程序中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法打开主机 WCF REST 服务 的相关文章

  • 按扩展名过滤搜索文件返回太多结果

    我正在开发一个 C 控制台应用程序 它必须管理 Windows 操作系统上的文件 我需要获取具有特定扩展名的文件名 列表 我找到了很多解决方案 最建议的是以下一种 HANDLE hFind WIN32 FIND DATA data hFin
  • WPF:在关闭事件触发之前,不会提交对具有焦点的文本框的更改

    我有一个用于编辑数据库信息的 WPF 窗口 它使用实体框架对象表示 当用户关闭窗口时 我想在 Closing 事件中注意到信息是否已更改 并显示一个消息框 提供将更改保存到数据库的信息 不幸的是 在编辑失去焦点之前 对当前焦点编辑的更改不会
  • 当事件button.click发生时,如何获取按钮名称/标签?

    我以编程方式制作按钮并将它们添加到堆栈面板中 以便每次用户导航到页面时按钮都会发生变化 我正在尝试做这样的事情 当我单击创建的按钮时 它将获取按钮的标签并转到正确的页面 但是 我无法使用 RoutedEventHandler 访问按钮元素
  • 处理右值时的 insert 与 emplace

    std string myString std unordered set
  • 如何在 C# Designer.cs 代码中使用常量字符串?

    如何在 designer cs 文件中引用常量字符串 一个直接的答案是在我的 cs 文件中创建一个私有字符串变量 然后编辑 Designer cs 文件以使用此变量 而不是对字符串进行硬编码 但设计者不喜欢这样抛出错误 我明白为什么这行不通
  • 不同 C++ 文件中的相同类名

    如果两个 C 文件具有相同名称的类的不同定义 那么当它们被编译和链接时 即使没有警告也会抛出一些东西 例如 a cc class Student public std string foo return A void foo a Stude
  • 从网页运行 ClickOnce 应用程序,无需用户操作

    我们有一个基于 Java 的 Web 应用程序以及用 C 编写的相同应用程序 如果 java 检查器发现客户端计算机上没有安装 Java 则应该运行该应用程序 这个想法是运行 C 单击一次 http en wikipedia org wik
  • 在 .NET MAUI 中实现 TouchTracking

    我一直致力于将我们的应用程序从 Xamarin Forms 迁移到 NET MAUI 我们的应用程序几乎没有绘图功能 用户可以用手指进行绘图 我们用了TouchTrackingXamarin Forms 中的 nuget 包 但与 NET
  • 如何递归取消引用指针(C++03)?

    我正在尝试在 C 中递归地取消引用指针 如果传递一个对象 那就是not一个指针 这包括智能指针 我只想返回对象本身 如果可能的话通过引用返回 我有这个代码 template
  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判
  • 不可变类与结构

    以下是类与 C 中的结构的唯一区别 如果我错了 请纠正我 类变量是引用 而结构变量是值 因此在赋值和参数传递中复制结构的整个值 类变量是存储在堆栈上的指针 指向堆上的内存 而结构变量作为值存储在堆上 假设我有一个不可变的结构 该结构的字段一
  • 模板类中的无效数据类型生成编译时错误?

    我正在使用 C 创建一个字符串类 我希望该类仅接受数据类型 char 和 wchar t 并且我希望编译器在编译时使用 error 捕获任何无效数据类型 我不喜欢使用assert 我怎样才能做到这一点 您可以使用静态断言 促进提供一个 ht
  • 使动态创建的链接标签在 Winforms 中可点击

    我正在制作一个程序 允许用户单击由动态链接标签创建的公司名称 在我想知道如何做到这一点之前 我从未在 C 中使用过链接标签 可为特定用户生成的业务数量各不相同 因此每个用户的链接标签数量并不相同 然后我想捕获业务 ID 以进行 Json 调
  • 如何解压 msgpack 文件?

    我正在将 msgpack 编码的数据写入文件 在编写时 我只是使用 C API 的 fbuffer 如 我为示例删除了所有错误处理 FILE fp fopen filename ab msgpack packer pk msgpack pa
  • 将 Lambda 表达式树与 IEnumerable 结合使用

    我一直在尝试了解有关使用 Lamba 表达式树的更多信息 因此我创建了一个简单的示例 这是代码 如果作为 C 程序粘贴到 LINQPad 中 它可以工作 void Main IEnumerable
  • Visual Studio 2015 - Web 项目上缺少共享项目参考选项卡

    我从 MSDN 订阅升级到 Visual Studio 2015 因为我非常兴奋地阅读有关共享项目的信息 当我们想要做的只是重用代码时 不再需要在依赖项中管理 21382 个 nuget 包 所以我构建了一个测试共享项目 其中包含一些代码
  • C++:二叉树所有节点值的总和

    我正在准备面试 我被一个二叉树问题困住了 我们如何计算二叉树所有节点中存在的值的总和 优雅的递归解决方案 伪代码 def sum node if node NULL return 0 return node gt value sum nod
  • EntityFramework 6.0.0.0 读取数据,但不插入

    我创建了一个基于服务的数据库 folderName gt Add New Item gt Data gt Service based Database文件到 WPF 应用程序中 然后我用过Database First方法并创建了Person
  • 在 System.Type 上使用条件断点时出错

    这是函数 public void Init System Type Type this Type Type BuildFieldAttributes BuildDataColumns FieldAttributes 我在第一行设置了一个断点
  • MySqlConnectionStringBuilder - 使用证书连接

    我正在尝试连接到 Google Cloud Sql 这是一个 MySql 解决方案 我能够使用 MySql Workbench 进行连接 我如何使用 C 连接MySqlConnectionStringBuilder 我找不到提供这三个证书的

随机推荐

  • 为什么reactjs中的功能组件没有实例?

    In 反应快速入门 https facebook github io react docs refs and the dom html 有关于Refs and Functional Components that 您不能在功能组件上使用 r
  • HTTP 标头值的最大值?

    HTTP 标头是否有可接受的最大允许大小 如果是这样 那是什么 如果不是 这是特定于服务器的内容还是允许任何大小的标头的公认标准 不 HTTP 没有定义任何限制 然而 大多数网络服务器确实限制它们接受的标头的大小 例如在Apache 默认限
  • CSS/HTML:使文本斜体的正确方法是什么?

    是什么correct使文本斜体的方法 我见过以下四种方法 i Italic Text i em Italic Text em span class italic Italic Text span span class footnote It
  • (在Video.js中)如何设置自定义请求标头?

    遇到这个问题后 我根据以下内容编写了一个最小的示例本文档 https github com videojs http streaming hlsxhr
  • 向 Django 管理站点添加忘记密码功能

    如何将忘记密码功能添加到 Django 管理站点 有电子邮件 安全问题选项吗 有可用的插件 扩展吗 它们都是在 django 中构建的 只需添加相关的 url 模式即可 如下 from django contrib auth import
  • 使用 $ 运算符将两个括号链接在一起

    我有这个功能 min max 10 20 max 30 40 我可以将其重写为 min max 10 20 max 30 40 但是还有没有办法解决最后的括号呢 并不是说这还不够好 但我只是不能放弃这个想法 必须有某种方法可以做到这一点 如
  • 休眠序列不存在

    我尝试使用 spring 在我的项目中将 hibernate 从 4 升级到 54 2版本 升级后 当我调用更新方法时 我在堆栈跟踪中发现以下错误 10 53 32 185 ERROR TableStructure 149 could no
  • 在 WebView 中启用长按

    在浏览器中 您可以长按 URL 在我的 WebView 中 你不能 我怎样才能做到你也能做到 我也有同样的问题 不幸的是 我找不到一种方法来显示标准浏览器菜单选项 您必须自己实现每一项 我所做的是将 WebView 注册为上下文菜单acti
  • 通过 ingress 服务从 kubernetes pod 发送 http 请求到 Minikube 中的另一个 pod

    我在 Oracle VM Virtualbox 中使用 Minikube 单节点 Kubernetes 集群 节点中的一个 Pod 是基于 Next js 的客户端 其余 Pod 是不同的微服务 假设我的客户端 Pod1 需要在渲染之前向身
  • Firebase 数据库规则语法错误

    rules Users user id Grants write access to the owner of this user account whose uid must exactly match the key user id w
  • 如何自动生成创建或修改的时间戳字段?

    我的实体类 Entity Table name user public class User implements Serializable private static final long serialVersionUID 1L Id
  • Unity DI 从特定程序集自动注册

    我正在尝试使用 Unity Registration by Convention 功能 我不知道如何从特定的程序集 项目文件中注册以 Repository 结尾的文件 container RegisterTypes AllClasses F
  • 制作 python 程序发牌时遇到的麻烦。

    我想做一个纸牌游戏 我所坚持的是发牌 我所做的就是对每张卡制定一个指令 并赋予它一个值 因为有些卡比其他卡更有价值 我的想法是将字典分成4部分 或者将每本字典复印4份 然后从每份中删除39张卡片 每人留下13张卡片 这是否可能 或者我是否以
  • std unique_ptrs 的 stl 集合的 boost 序列化

    我希望能够序列化 std unique ptrs 的 stl 容器 能做到吗 顺便说一句 单个 std unique ptr 一切正常 下面是我正在处理的代码 gcc 给出以下错误 use of deleted function std u
  • JavaScript 运算符“in”

    我已经习惯了 python 所以 a 1 2 3 1 in a gt True b 1 2 3 x x in b gt True 为什么在 JavaScript 中会这样 a 1 2 3 1 in a gt true b 1 2 3 x x
  • 使用 ksoap2-android SOAP 客户端从 WSDL 生成 Java 以在 Android 上使用?

    我必须从 Android 应用程序访问现有的 SOAP Web 服务 我已获得一些描述 Web 服务的 WSDL 文件 读一些SO的其他答案 https stackoverflow com questions 297586 how to c
  • C# - 在 div id 上使用 FindControl 时出错

    我有一个 ASP NET 站点 我试图通过 C 代码隐藏文件中的 ID 访问 div 元素 本质上我想查看 div 元素是否存在 如果存在 则更改其属性 我发现许多资源都指向十几种不同的解决方案 但似乎没有一个有效 ASP Net 页面上的
  • Team Foundation Server 无法构建。缺少库或组件?

    我正在尝试使用 TFS 和构建服务器创建构建 这是我第一次尝试构建服务器 但进展并不顺利 我正在使用 Visual Studio 2012 和 TFS 2012 该项目是用 VB Net 编写的 并使用了相当多的参考资料 当我在我的开发机器
  • windows下是否可以删除某个进程打开的文件?

    出于测试和模拟的目的 我想删除我的进程当前打开的文件 The 创建文件文档 http msdn microsoft com en us library aa363858 28v VS 85 29 aspx声明可以以某种模式打开文件 FILE
  • 无法打开主机 WCF REST 服务

    我正在尝试实现一些 WCF 和 REST 服务来在我的服务器上上传文件 并且我找到了一些我正在尝试实现的代码 但尚未成功 My code class Program static void Main string args string a