asp代码嵌入python_Asp.net core 通过grpc调用python

本文介绍了如何使用gRPC框架在ASP.NET Core应用中远程调用Python服务端的方法。首先,详细解释了gRPC的概念,并提供了protocol buffer的使用示例。接着,展示了如何在Python中编写proto文件、生成服务端代码并启动服务。最后,提及了ASP.NET Core API作为客户端的实现,但未提供具体代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、grpc

grpc 一个rpc框架。什么是rpc?简单来说就是远程过程调用。

举个例子,比如在C#代码中直接调用python 中写的方法,或者一个C#进程调用另一个C#进程中的方法,或者其他语言之间的互相调用

grpc 学习地址:https://www.grpc.io/

二、protocol buffer

一种语言,,文件类型.proto

作用:定义进程之间传递参数,以及返回的类型,还有进程直接可调用的方法。具体书写方法可百度

三、python作为服务端

python 部分用的编辑器为vscode

3.1 proto文件的编写

syntax = "proto3"; //表示用的是proto3,之前的版本是2,通过这行代码来区分

//option csharp_namespace = "GrpcClient"; C#的命名空间,引用时要用

package grpcDemo;

//定义传递的参数 以下两个参数实体,其实是可以替换互用的,就是传递和返回参数变量

message Request{

string info = 1;

}

message Response{

string info =1;

}

//定义进程之间调用的方法

service GrpcDemo {

rpc GetMessgae(Request) returns(Response){}

}

3.2 根据proto 文件生成相关的py文件

在vs code 打开cmd 命令窗口,分别执行以下命令

python -m pip install grpcio

python -m pip install grpcio-tools

python -m grpc_tools.protoc -I./ --python_out=. --grpc_python_out=. ./grpcDemo.proto

3.3 编写python server

import grpc

import grpcDemo_pb2

import grpcDemo_pb2_grpc

from concurrent import futures

class PyServer(grpcDemo_pb2_grpc.GrpcDemoServicer):

def GetMessgae(self,requet,context):

return grpcDemo_pb2.Response(info='Hello')

def serve():

server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))

grpcDemo_pb2_grpc.add_GrpcDemoServicer_to_server(PyServer(),server)

server.add_insecure_port('127.0.0.1:5001')

server.start()

server.wait_for_termination()

if __name__ == '__main__':

#logging.basicConfig()

serve()

F5运行 ,服务就完成了

四、Asp.net core API 作为grpc客户端实现

五、代码地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值